[Python-de] Re: Funktion ueberschreiben?
Ulli Horlacher <[email protected]> Mon, 5 Dec 2022 08:24:37 +0000 (UTC)
| Newsgroups | gmane.comp.python.general.german |
|---|---|
| Organization | University of Stuttgart, FRG |
| Message-ID | <[email protected]> |
Ulli Horlacher <[email protected]> wrote: > --- Start running command LIST at 08:57:10.534 --- > Traceback (innermost last): > File "<string>", line 106, in <module> > File "<string>", line 92, in with_tempdir > File "/usr/lib/python3/dist-packages/duplicity/dup_main.py", line 1538, in main > do_backup(action) > File "/usr/lib/python3/dist-packages/duplicity/dup_main.py", line 1558, in do_backup > col_stats = dup_collections.CollectionsStatus(globals.backend, > File "/usr/lib/python3/dist-packages/duplicity/dup_collections.py", line 744, in set_values > self.get_backup_chains(partials + backend_filename_list) > File "/usr/lib/python3/dist-packages/duplicity/dup_collections.py", line 896, in get_backup_chains > add_to_chains(s) > File "/usr/lib/python3/dist-packages/duplicity/dup_collections.py", line 884, in add_to_chains > log.Debug(_(u"Found backup chain %s") % (new_chain.short_desc())) > File "/usr/lib/python3/dist-packages/duplicity/dup_collections.py", line 408, in short_desc > return u"[%s]-[%s]" % (dup_time.timetopretty(self.start_time), > File "/usr/lib/python3/dist-packages/duplicity/dup_time.py", line 169, in timetopretty > return time.asctime(time.localtime(timeinseconds)) > File "/opt/s3tik/bin/duplicity", line 6, in isodate > return time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(timeinseconds)) > TypeError: an integer is required (got type time.struct_time) > > 08:57:10.886 Task 'LIST' failed with exit code '30'. > --- Finished state FAILED 'code 30' at 08:57:10.886 - Runtime 00:00:00.351 --- > > root@obertux:/opt/s3tik/bin# cat duplicity > #!/usr/bin/python3 > > import time > > def isodate(timeinseconds): > return time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(timeinseconds)) > > time.asctime = isodate; > > with open("/usr/bin/duplicity") as duplicity: > code = duplicity.read() > exec(code) Habs nun geaendert zu: root@obertux:/opt/s3tik/bin# cat duplicity #!/usr/bin/python3 from duplicity import dup_time def isodate(timeinseconds): return time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(timeinseconds)) dup_time.timetopretty = isodate; with open("/usr/bin/duplicity") as duplicity: code = duplicity.read() exec(code) Ich definiere also nicht time.asctime() um, sondern dup_time.timetopretty() Ist eh besser. Und DAMIT funktioniert es: root@obertux:/opt/s3tik/bin# duply root list | tail 2021-01-20 17:55:59 server/tacitus 2021-01-20 17:55:59 server/unifex 2021-01-20 17:56:00 server/zentux 2021-01-20 17:56:00 server/zoo 2022-12-03 06:57:02 tmp 2022-12-03 09:43:51 tmp/.zz 2015-04-28 15:08:50 vcli 2013-09-11 17:02:36 vminfo_example 2013-06-24 13:33:40 vmti --- Finished state OK at 09:17:08.178 - Runtime 00:00:01.087 --- ==> Ich bekomme jetzt ISO Datum! Und ich weiss nun, wie man Python-Programmen geaenderte Funktionen unterschieben kann, ohne den Original Source Code aendern zu muessen. Den Trick kann ich spaeter bestimmt noch oefters gebrauchen! Sehr gut! -- Ullrich Horlacher Server und Virtualisierung Rechenzentrum TIK Universitaet Stuttgart E-Mail: [email protected] Allmandring 30a Tel: ++49-711-68565868 70569 Stuttgart (Germany) WWW: http://www.tik.uni-stuttgart.de/ _______________________________________________ python-de Mailingliste -- [email protected] Zur Abmeldung von dieser Mailingliste senden Sie eine Nachricht an [email protected] https://mail.python.org/mailman3/lists/python-de.python.org/ Mitgliedsadresse: [email protected]