Browse Source

Fix unneeded space in process name, only write time to display when the minute changes and not every second

Helmut Pozimski 10 years ago
parent
commit
d214e19eb5
2 changed files with 31 additions and 23 deletions
  1. 1 1
      setup.py
  2. 30 22
      stdd

+ 1 - 1
setup.py

@@ -10,7 +10,7 @@ from distutils.core import setup
 
 setup(
 	name="stdd",
-	version="0.9",
+	version="0.9.1",
 	author_email="helmut@pozimski.eu",
 	description="stdd, simple time display daemon",
 	long_description=("stdd is a small daemon written in python which displays"

+ 30 - 22
stdd

@@ -28,7 +28,7 @@ parameters, only 3 are currently defined:
 	* --config (path to configuration file)
 
 """
-parser = OptionParser(prog="stdd", version="%prog 0.9", add_help_option=True)
+parser = OptionParser(prog="stdd", version="%prog 0.9.1", add_help_option=True)
 parser.add_option("-d", "--daemon", action="store_true", dest="daemon",
 	help="run stdd as daemon")
 parser.add_option("-u", "--user", dest="user", help="define an unprivileged \
@@ -113,8 +113,13 @@ if options.daemon is True:
 	daemon.Start()
 	logger.info("daemon started")
 	cmdline = ""
+	cmdcounter = 0
 	for element in sys.argv:
-		cmdline = cmdline + " " + element
+		if cmdcounter > 0:
+			cmdline = cmdline + " " + element
+		else:
+			cmdline = cmdline + element
+		cmdcounter = cmdcounter + 1
 	daemon.SetName("stdd", cmdline)
 	if options.user is not None and options.group is not None:
 		""" To determine the user and group id, use the passwd
@@ -154,6 +159,7 @@ else:
 
 
 def main():
+	minute_written = 61
 	while True:
 		date_now = datetime.datetime.now()
 		logger.debug("got datetime: " + str(date_now))
@@ -176,26 +182,28 @@ def main():
 			if config.set_brightness_high.minute == minute:
 				logger.debug("setting display brightness high")
 				display.setBrightness(config.brightness_high)
-		try:
-			position2 = str(hour)[1]
-		except IndexError:
-			position2 = str(hour)[0]
-			position1 = "0"
-
-		else:
-			position1 = str(hour)[0]
-		try:
-			position4 = str(minute)[1]
-		except IndexError:
-			position4 = str(minute)[0]
-			position3 = "0"
-		else:
-			position3 = str(minute)[0]
-		logger.debug("writing time to display")
-		display.writeDigit(0, int(position1))
-		display.writeDigit(1, int(position2))
-		display.writeDigit(3, int(position3))
-		display.writeDigit(4, int(position4))
+		if minute_written != minute:
+			try:
+				position2 = str(hour)[1]
+			except IndexError:
+				position2 = str(hour)[0]
+				position1 = "0"
+
+			else:
+				position1 = str(hour)[0]
+			try:
+				position4 = str(minute)[1]
+			except IndexError:
+				position4 = str(minute)[0]
+				position3 = "0"
+			else:
+				position3 = str(minute)[0]	
+			logger.debug("writing time to display")
+			display.writeDigit(0, int(position1))
+			display.writeDigit(1, int(position2))
+			display.writeDigit(3, int(position3))
+			display.writeDigit(4, int(position4))
+			minute_written = minute
 		time.sleep(1)
 
 if __name__ == "__main__":