diff options
author | Ajay Garg <ajay@activitycentral.com> | 2012-08-29 07:06:08 (GMT) |
---|---|---|
committer | Ajay Garg <ajay@activitycentral.com> | 2012-08-29 07:06:08 (GMT) |
commit | f607aa742d50db63ddfc8d1ed776de9f24047710 (patch) | |
tree | edd5b764cbad553b101a776d52ead2e811028cb3 | |
parent | 3dbe69fe3efbfc77e05cadc6259f8e66fd520855 (diff) |
[Version-5] 1-to-N feature via School-Server.
Changes of version-5 over version-4 :
====================================
Fixing the subcase of issue solved in verson-4.
When uploading from Journal/Documents/Mounted-Drives -> School Server,
the 'preview' was not available in "Shares" view.
Fixed it.
-rw-r--r-- | rpms/sugar/0130-1-to-N-feature-via-School-Server.patch | 54 |
1 files changed, 36 insertions, 18 deletions
diff --git a/rpms/sugar/0130-1-to-N-feature-via-School-Server.patch b/rpms/sugar/0130-1-to-N-feature-via-School-Server.patch index 2c3bda3..4d61d7f 100644 --- a/rpms/sugar/0130-1-to-N-feature-via-School-Server.patch +++ b/rpms/sugar/0130-1-to-N-feature-via-School-Server.patch @@ -1,6 +1,6 @@ -From ae3bca646e7eece719628b2187c70714280a60cb Mon Sep 17 00:00:00 2001 +From 2201c690a2705fe90a7c009e2fd60e3e5bcb8e6c Mon Sep 17 00:00:00 2001 From: Ajay Garg <ajay@activitycentral.com> -Date: Wed, 29 Aug 2012 09:04:21 +0530 +Date: Wed, 29 Aug 2012 12:34:20 +0530 Subject: [sugar PATCH] 1-to-N-feature-via-School-Server. Organization: Sugar Labs Foundation Signed-off-by: Ajay Garg <ajay@activitycentral.com> @@ -10,12 +10,12 @@ Signed-off-by: Ajay Garg <ajay@activitycentral.com> src/jarabe/journal/model.py | 350 ++++++++++++++++++++++----------- src/jarabe/journal/palettes.py | 202 ++++++++++++++++--- src/jarabe/journal/volumestoolbar.py | 41 ++--- - src/jarabe/journal/webdavmanager.py | 146 ++++++++------ + src/jarabe/journal/webdavmanager.py | 164 ++++++++++------ src/jarabe/view/palettes.py | 31 +--- src/webdav/Connection.py | 11 +- src/webdav/WebdavClient.py | 16 ++- src/webdav/davlib.py | 9 +- - 10 files changed, 588 insertions(+), 279 deletions(-) + 10 files changed, 605 insertions(+), 280 deletions(-) diff --git a/src/jarabe/journal/journalactivity.py b/src/jarabe/journal/journalactivity.py index fc4773d..5f2a734 100644 @@ -1097,7 +1097,7 @@ index c24475d..e251300 100644 diff --git a/src/jarabe/journal/webdavmanager.py b/src/jarabe/journal/webdavmanager.py -index 6cd0713..e99b7aa 100644 +index 6cd0713..39c1c30 100644 --- a/src/jarabe/journal/webdavmanager.py +++ b/src/jarabe/journal/webdavmanager.py @@ -1,5 +1,6 @@ @@ -1129,18 +1129,22 @@ index 6cd0713..e99b7aa 100644 def _get_resources_dict(self): return self._remote_webdav_share_resources -@@ -59,6 +58,10 @@ class WebDavUrlManager(gobject.GObject): - def _get_resource_by_key(self, key): - return self._remote_webdav_share_resources[key]['resource'] +@@ -57,7 +56,13 @@ class WebDavUrlManager(gobject.GObject): + return self._remote_webdav_share_collections + def _get_resource_by_key(self, key): +- return self._remote_webdav_share_resources[key]['resource'] ++ if key in self._remote_webdav_share_resources.keys(): ++ return self._remote_webdav_share_resources[key]['resource'] ++ return None ++ + def _add_or_replace_resource_by_key(self, key, resource): + self._remote_webdav_share_resources[key] = {} + self._remote_webdav_share_resources[key]['resource'] = resource -+ + def _get_metadata_list(self): metadata_list = [] - for key in self._remote_webdav_share_resources.keys(): -@@ -69,11 +72,9 @@ class WebDavUrlManager(gobject.GObject): +@@ -69,11 +74,9 @@ class WebDavUrlManager(gobject.GObject): resource_container = self._remote_webdav_share_resources[resource_key] return resource_container['webdav-properties'] @@ -1153,7 +1157,7 @@ index 6cd0713..e99b7aa 100644 authFailures = 0 while authFailures < 2: -@@ -111,8 +112,13 @@ class WebDavUrlManager(gobject.GObject): +@@ -111,8 +114,13 @@ class WebDavUrlManager(gobject.GObject): error_message = e get_journal()._volume_error_cb(None, error_message,_('Error')) @@ -1169,7 +1173,7 @@ index 6cd0713..e99b7aa 100644 else: # If this indeed is an Authorization Error, -@@ -138,25 +144,54 @@ class WebDavUrlManager(gobject.GObject): +@@ -138,25 +146,54 @@ class WebDavUrlManager(gobject.GObject): webdav_manager = {} @@ -1207,10 +1211,10 @@ index 6cd0713..e99b7aa 100644 + + # Procure the resource-lock. + lockToken = resource.lock('olpc') -+ -+ input_stream = open(content_file_path) - complete_root_url = protocol + ip_address + root_webdav_url ++ input_stream = open(content_file_path) ++ + # Now, upload the data; but it's necessary to enclose this in a + # try-except-finally block here, since we need to close the + # input-stream, whatever may happen. @@ -1234,7 +1238,7 @@ index 6cd0713..e99b7aa 100644 root_webdav = WebDavUrlManager(complete_root_url, 'test', 'olpc') if root_webdav._fetch_resources_and_collections() is False: -@@ -165,7 +200,8 @@ def get_remote_webdav_share_metadata(ip_address): +@@ -165,7 +202,8 @@ def get_remote_webdav_share_metadata(ip_address): # Keep reference to the "WebDavUrlManager", keyed by IP-Address. global webdav_manager @@ -1244,7 +1248,7 @@ index 6cd0713..e99b7aa 100644 # Assert that the number of collections is only one at this url -@@ -174,12 +210,14 @@ def get_remote_webdav_share_metadata(ip_address): +@@ -174,12 +212,14 @@ def get_remote_webdav_share_metadata(ip_address): root_sugar_metadata_url = root_webdav_url + '/.Sugar-Metadata' @@ -1260,7 +1264,7 @@ index 6cd0713..e99b7aa 100644 # assert that the number of collections is zero at this url. assert root_webdav_sugar_metadata._get_number_of_collections() == 0 -@@ -189,68 +227,60 @@ def get_remote_webdav_share_metadata(ip_address): +@@ -189,68 +229,74 @@ def get_remote_webdav_share_metadata(ip_address): root_webdav_sugar_metadata_resources = root_webdav_sugar_metadata._get_resources_dict() # Prepare the metadata-download folder. @@ -1323,6 +1327,20 @@ index 6cd0713..e99b7aa 100644 + root_webdav_sugar_metadata._get_resource_by_key(root_webdav_sugar_metadata_resource_name) metadata_resource.downloadFile(downloaded_metadata_file_path) ++ ++ # We need to download the preview-file as well at this stage, ++ # so that it can be shown in the expanded entry. ++ downloaded_preview_file_path = downloaded_metadata_file_dir + \ ++ '/' + basename + '.preview' ++ root_webdav_sugar_preview_resource_name = \ ++ root_webdav_sugar_metadata_resource_name[0:root_webdav_sugar_metadata_resource_name.index('.metadata')] + \ ++ '.preview' ++ preview_resource = \ ++ root_webdav_sugar_metadata._get_resource_by_key(root_webdav_sugar_preview_resource_name) ++ if preview_resource is not None: ++ preview_resource.downloadFile(downloaded_preview_file_path) ++ ++ file_pointer = open(downloaded_metadata_file_path) metadata = eval(file_pointer.read()) file_pointer.close() |