Aggiornato l'esempio
Leonardo [2010-06-15 12:38]
diff --git a/example_script.py b/example_script.py
index 6ed72e1..77a7453 100755
--- a/example_script.py
+++ b/example_script.py
@@ -14,6 +14,8 @@ import mlmanager
# Adjust some internal variables, for example add a text estension;
# You can also append to
# video_extensions, audio_extensions, cdimage_extensions and archive_extensions
+# You can view the default values opening a python shell, improting mlmanager
+# and printing mlmanager.****_extensions
mlmanager.text_extensions.append ("djvu")
# Change mail addr of the daemon and domain of the server.
@@ -56,12 +58,12 @@ mail_text += "Duration of the download: %s.\n\n" % duration
recipients = [ "user1@provider.com", "user2@anotherprovider.org" , "owner" ]
# Move download to the right place
-if download.get_type() == "video":
+if download.get_type() is "video":
download.move("/shared/Films")
mail_text += "The file has been recognized as a film so it has been copied\n"
mail_text += "in /shared/Films.\n"
-elif download.get_type() == "audio":
+elif download.get_type() is "audio":
download.move("/shared/Musica")
mail_text += "The file has been recognized as music so it has been copied\n"
mail_text += "in /shared/Music.\n"
@@ -83,7 +85,7 @@ if download.is_in_group("remote"):
recipients.remove("user2@anotherprovider.org")
# Script signature
-mail_text += "\nmldonkey <mldonkey@robol.it>\n"
+mail_text += "\n--\nmldonkey <mldonkey@robol.it>\n"
# Notify users by mail
download.notify_email(recipients,
diff --git a/mlmanager.py b/mlmanager.py
index 8bdb785..84cb704 100644
--- a/mlmanager.py
+++ b/mlmanager.py
@@ -286,11 +286,15 @@ class Download():
if not self._committed:
self.commit ()
+ errors = ""
+
# Initialize internal counter of the times we have tried to move the file
self._rsync_counter = 0
s = subprocess.Popen("rsync --partial -az --compress-level=9 \"%s\" \"%s\"" % (self._dest_path,
remote_destination),
shell = True, stderr = subprocess.PIPE, stdout = subprocess.PIPE)
+
+ errors += "\n" + s.communicate ()[1]
ret_code = s.wait ()
# If we fail call this funtion recursively to retry...wait for 60 seconds and then go (it could
@@ -301,7 +305,7 @@ class Download():
time.sleep (60)
self.rsync(remote_destination)
else:
- self._notify_error("Rsync transfer of file %s failed more than 5 times, aborting" % self._filename)
+ self._notify_error("Rsync transfer of file %s failed more than 5 times, aborting\n\n%s" % (self._filename, errors))
def _notify_error(self, message):
"""Notify error via email"""