From 2fdfb3a9b3ee50ac93a16786fa9c9bb3484fc1eb Mon Sep 17 00:00:00 2001 From: lxnay Date: Tue, 26 Aug 2008 17:00:26 +0000 Subject: [PATCH] Entropy/DistributionUGCInterface: - get_ugc_metadata_doctypes(): retrieve more information regarding each item git-svn-id: http://svn.sabayonlinux.org/projects/entropy/trunk@2344 cd1c1023-2f26-0410-ae45-c471fc1f0318 --- libraries/entropy.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/libraries/entropy.py b/libraries/entropy.py index 7bb4a7462..e9e0b2b80 100644 --- a/libraries/entropy.py +++ b/libraries/entropy.py @@ -16708,6 +16708,10 @@ class DistributionUGCInterface(RemoteDbSkelInterface): def __init__(self, connection_data, store_path, store_url = ''): self.store_url = store_url self.DOC_TYPES = etpConst['ugc_doctypes'].copy() + self.UPLOADED_DOC_TYPES = [ + self.DOC_TYPES['image'], + self.DOC_TYPES['generic_file'] + ] RemoteDbSkelInterface.__init__(self) self.set_connection_data(connection_data) self.connect() @@ -16877,6 +16881,19 @@ class DistributionUGCInterface(RemoteDbSkelInterface): for mydict in metadata: if not mydict.has_key('iddoc'): continue mydict['keywords'] = self.get_ugc_keywords(mydict['iddoc']) + if not mydict.has_key('idkey'): continue + mydict['pkgkey'] = self.get_pkgkey(mydict['idkey']) + # for binary files, get size too + mydict['size'] = 0 + if not mydict.has_key('iddoctype'): continue + if not mydict.has_key('ddata'): continue + if mydict['iddoctype'] in self.UPLOADED_DOC_TYPES: + mypath = os.path.join(self.STORE_PATH,mydict['ddata'].tostring()) + if os.path.isfile(mypath) and os.access(mypath,os.R_OK): + try: + mydict['size'] = int(os.stat(mypath)[6]) + except OSError: + pass return metadata def get_ugc_metadata_doctypes_by_identifiers(self, identifiers, typeslist): @@ -17200,6 +17217,7 @@ class DistributionUGCInterface(RemoteDbSkelInterface): if data != None: mypath = data.get('ddata') if mypath != None: + mypath = os.path.join(self.STORE_PATH,mypath.tostring()) if os.path.isfile(mypath) and os.access(mypath,os.W_OK): os.remove(mypath)