فهرست منبع

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

Helmut Pozimski 10 سال پیش
والد
کامیت
d214e19eb5
2فایلهای تغییر یافته به همراه31 افزوده شده و 23 حذف شده
  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__":