Browse Source

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

Helmut Pozimski 10 năm trước cách đây
mục cha
commit
d214e19eb5
2 tập tin đã thay đổi với 31 bổ sung23 xóa
  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__":