Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAjay Garg <ajay@activitycentral.com>2012-08-29 07:06:08 (GMT)
committer Ajay Garg <ajay@activitycentral.com>2012-08-29 07:06:08 (GMT)
commitf607aa742d50db63ddfc8d1ed776de9f24047710 (patch)
treeedd5b764cbad553b101a776d52ead2e811028cb3
parent3dbe69fe3efbfc77e05cadc6259f8e66fd520855 (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.patch54
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()