Path: csiph.com!fu-berlin.de!uni-berlin.de!not-for-mail From: =?UTF-8?Q?Mike_M=c3=bcller?= Newsgroups: de.comp.lang.python Subject: =?utf-8?q?=5BPython-de=5D_Re=3A_Funktion_ueberschreiben=3F?= Date: Sat, 3 Dec 2022 10:00:25 +0100 Organization: Python Academy GmbH & Co. KG Lines: 53 Message-ID: References: Reply-To: mmueller@python-academy.de Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Trace: news.uni-berlin.de sL7WWQtwS9FId8cpBqcYhAXs4wOrfc65lFsutlUKOb2w== Authentication-Results: mail.python.org; dkim=pass reason="2048-bit key; unprotected key" header.d=python-academy.de header.i=@python-academy.de header.b=Wn64rTDf; dkim-adsp=pass; dkim-atps=neutral DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=python-academy.de; s=default2205; h=Content-Transfer-Encoding:Content-Type: In-Reply-To:From:References:To:Subject:Reply-To:MIME-Version:Date:Message-ID: Sender:Cc:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID; bh=HuTheaCDo0CBVqPcSqTmi7svBfHmNm0/vR/uHGMB6qQ=; b=Wn64rTDfr3M33DnBF9+d+sO8Ct Ki/KK1EZyuvVFs1ol+CMCepuiGal6rzLBBV8faG+x3qwBSRCASYpKz5TC1/cekuMFB7oTvfkAy6oX 1T8+MWys73zj/M3FtS0Ku6aJ0dq1Th+n4oFsvXMl57tN04W2d3KBotNYiyn9J9X3R/dxxFJqVPK0L XCWScH4xRzZdHJbNp1tIr9amVUM1n1zFVUgqfNBCzut+BHh0z5aGIzA2G2gMtOQRclo+uvEUces/t y00kxGgANQ7x0mj4bHdgv6y/UdTF5UaoP9SFEq4RAhNAFQP+x833JOp/rUXkVsfjPtAVpM9RIutuK JgBl5vuQ==; User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.5.0 Content-Language: de-DE In-Reply-To: X-Authenticated-Sender: mmueller@python-academy.de X-Virus-Scanned: Clear (ClamAV 0.103.7/26739/Sat Dec 3 09:16:53 2022) Message-ID-Hash: PGKD2EI6KWNKMAOKGV4ETW7NJ24663A4 X-Message-ID-Hash: PGKD2EI6KWNKMAOKGV4ETW7NJ24663A4 X-MailFrom: mmueller@python-academy.de X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-python-de.python.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.7 Precedence: list List-Id: Die Deutsche Python Mailingliste Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: Xref: csiph.com de.comp.lang.python:5890 Am 03.12.22 um 09:28 schrieb Ulli Horlacher: > Ich teste gerade duply/duplicity. > U.a. stoert mich da Ausgabe des Datums in US Format, zB: > > Last full backup date: Tue Nov 29 17:38:31 2022 > Fri Dec 2 09:08:31 2022 . > > Ich hab auch schon die Stelle gefunden, wo das passiert: > > /usr/lib/python3/dist-packages/duplicity/dup_time.py > > def timetopretty(timeinseconds): > u"""Return pretty version of time""" > return time.asctime(time.localtime(timeinseconds)) > > > Ist also hard coded und nicht User konfigurierbar. > > Ich hab nun die letzte Zeile ersetzt durch: > > return time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(timeinseconds)) > > > Damit bekomme ich brauchbares ISO Datumsformat: > > Last full backup date: 2022-11-29 17:38:31 > 2022-12-02 09:08:31 . > > ABER: duplicity ist ein Ubuntu-Paket und beim naechstes (automatischen) > Update wird mein modifiziertes dup_time.py ersetzt. > Irgendwelche Aenderungen des Original-Codes verbieten sich also. > > Meine Idee nun: > > Ich schreibe einen wrapper fuer duplicity, der time.asctime() durch meine > obige Funktion ersetzt. So wuerde ich das zumindest bei C oder Perl machen. > > (Wie) geht das bei Python? import duplicity.dup_time def timetopretty(timeinseconds): """Return pretty version of time""" return time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(timeinseconds)) duplicity.dup_time.timetopretty = timetopretty ganz zu Beginn des Programms sollte funktionieren. Wichtig ist, dass duplicity.dup_time nicht schon vorher importiert wird. Sonst müsstest du es vorher aus sys.modules entfernen. Viele Grüße Mike