Univention Bugzilla – Attachment 5425 Details for
Bug 32564
Move mapping functionality to UDM syntax classes
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Suggested Patch for syntax.Base64Upload
SyntaxBase64.patch (text/plain), 10.75 KB, created by
Arvid Requate
on 2013-09-11 19:57:15 CEST
(
hide
)
Description:
Suggested Patch for syntax.Base64Upload
Filename:
MIME Type:
Creator:
Arvid Requate
Created:
2013-09-11 19:57:15 CEST
Size:
10.75 KB
patch
obsolete
>Index: univention-directory-manager-modules/modules/univention/admin/mapping.py >=================================================================== >--- univention-directory-manager-modules/modules/univention/admin/mapping.py (Revision 43848) >+++ univention-directory-manager-modules/modules/univention/admin/mapping.py (Arbeitskopie) >@@ -32,7 +32,6 @@ > > import univention.debug > import types >-import base64 > > def DaysToSeconds(days): > return str(int(days)*24*60*60) >@@ -106,23 +105,6 @@ > value *= 60 > return unicode( value ) > >-def unmapBase64( value ): >- try: >- return base64.b64encode( value[ 0 ] ) >- except Exception, e: >- univention.debug.debug(univention.debug.ADMIN, univention.debug.ERROR, 'ERROR in unmapBase64: %s' % e) >- return "" >- >-def mapBase64( value ): >- if value == '*': >- # special case for filter pattern '*' >- return value >- try: >- return base64.b64decode( value ) >- except Exception, e: >- univention.debug.debug(univention.debug.ADMIN, univention.debug.ERROR, 'ERROR in mapBase64: %s' % e) >- return "" >- > class mapping: > def __init__(self): > self._map={} >Index: univention-directory-manager-modules/modules/univention/admin/handlers/settings/ldapacl.py >=================================================================== >--- univention-directory-manager-modules/modules/univention/admin/handlers/settings/ldapacl.py (Revision 43863) >+++ univention-directory-manager-modules/modules/univention/admin/handlers/settings/ldapacl.py (Arbeitskopie) >@@ -172,7 +172,7 @@ > mapping=univention.admin.mapping.mapping() > mapping.register('name', 'cn', None, univention.admin.mapping.ListToString) > mapping.register('filename', 'univentionLDAPACLFilename', None, univention.admin.mapping.ListToString) >-mapping.register('data', 'univentionLDAPACLData', univention.admin.mapping.mapBase64, univention.admin.mapping.unmapBase64) >+mapping.register('data', 'univentionLDAPACLData', None, univention.admin.mapping.ListToString) > mapping.register('active', 'univentionLDAPACLActive', None, univention.admin.mapping.ListToString) > mapping.register('appidentifier', 'univentionAppIdentifier') > mapping.register('package', 'univentionOwnedByPackage', None, univention.admin.mapping.ListToString) >Index: univention-directory-manager-modules/modules/univention/admin/handlers/settings/udm_module.py >=================================================================== >--- univention-directory-manager-modules/modules/univention/admin/handlers/settings/udm_module.py (Revision 43863) >+++ univention-directory-manager-modules/modules/univention/admin/handlers/settings/udm_module.py (Arbeitskopie) >@@ -172,7 +172,7 @@ > mapping=univention.admin.mapping.mapping() > mapping.register('name', 'cn', None, univention.admin.mapping.ListToString) > mapping.register('filename', 'univentionUDMModuleFilename', None, univention.admin.mapping.ListToString) >-mapping.register('data', 'univentionUDMModuleData', univention.admin.mapping.mapBase64, univention.admin.mapping.unmapBase64) >+mapping.register('data', 'univentionUDMModuleData', None, univention.admin.mapping.ListToString) > mapping.register('active', 'univentionUDMModuleActive', None, univention.admin.mapping.ListToString) > mapping.register('appidentifier', 'univentionAppIdentifier') > mapping.register('package', 'univentionOwnedByPackage', None, univention.admin.mapping.ListToString) >Index: univention-directory-manager-modules/modules/univention/admin/handlers/settings/ldapschema.py >=================================================================== >--- univention-directory-manager-modules/modules/univention/admin/handlers/settings/ldapschema.py (Revision 43863) >+++ univention-directory-manager-modules/modules/univention/admin/handlers/settings/ldapschema.py (Arbeitskopie) >@@ -148,7 +148,7 @@ > mapping=univention.admin.mapping.mapping() > mapping.register('name', 'cn', None, univention.admin.mapping.ListToString) > mapping.register('filename', 'univentionLDAPSchemaFilename', None, univention.admin.mapping.ListToString) >-mapping.register('data', 'univentionLDAPSchemaData', univention.admin.mapping.mapBase64, univention.admin.mapping.unmapBase64) >+mapping.register('data', 'univentionLDAPSchemaData', None, univention.admin.mapping.ListToString) > mapping.register('active', 'univentionLDAPSchemaActive', None, univention.admin.mapping.ListToString) > mapping.register('appidentifier', 'univentionAppIdentifier') > mapping.register('package', 'univentionOwnedByPackage', None, univention.admin.mapping.ListToString) >Index: univention-directory-manager-modules/modules/univention/admin/handlers/settings/udm_hook.py >=================================================================== >--- univention-directory-manager-modules/modules/univention/admin/handlers/settings/udm_hook.py (Revision 43867) >+++ univention-directory-manager-modules/modules/univention/admin/handlers/settings/udm_hook.py (Arbeitskopie) >@@ -172,7 +172,7 @@ > mapping=univention.admin.mapping.mapping() > mapping.register('name', 'cn', None, univention.admin.mapping.ListToString) > mapping.register('filename', 'univentionUDMHookFilename', None, univention.admin.mapping.ListToString) >-mapping.register('data', 'univentionUDMHookData', univention.admin.mapping.mapBase64, univention.admin.mapping.unmapBase64) >+mapping.register('data', 'univentionUDMHookData', None, univention.admin.mapping.ListToString) > mapping.register('active', 'univentionUDMHookActive', None, univention.admin.mapping.ListToString) > mapping.register('appidentifier', 'univentionAppIdentifier') > mapping.register('package', 'univentionOwnedByPackage', None, univention.admin.mapping.ListToString) >Index: univention-directory-manager-modules/modules/univention/admin/handlers/settings/udm_syntax.py >=================================================================== >--- univention-directory-manager-modules/modules/univention/admin/handlers/settings/udm_syntax.py (Revision 43867) >+++ univention-directory-manager-modules/modules/univention/admin/handlers/settings/udm_syntax.py (Arbeitskopie) >@@ -172,7 +172,7 @@ > mapping=univention.admin.mapping.mapping() > mapping.register('name', 'cn', None, univention.admin.mapping.ListToString) > mapping.register('filename', 'univentionUDMSyntaxFilename', None, univention.admin.mapping.ListToString) >-mapping.register('data', 'univentionUDMSyntaxData', univention.admin.mapping.mapBase64, univention.admin.mapping.unmapBase64) >+mapping.register('data', 'univentionUDMSyntaxData', None, univention.admin.mapping.ListToString) > mapping.register('active', 'univentionUDMSyntaxActive', None, univention.admin.mapping.ListToString) > mapping.register('appidentifier', 'univentionAppIdentifier') > mapping.register('package', 'univentionOwnedByPackage', None, univention.admin.mapping.ListToString) >Index: univention-directory-manager-modules/modules/univention/admin/handlers/users/user.py >=================================================================== >--- univention-directory-manager-modules/modules/univention/admin/handlers/users/user.py (Revision 43828) >+++ univention-directory-manager-modules/modules/univention/admin/handlers/users/user.py (Arbeitskopie) >@@ -1255,8 +1255,8 @@ > lst.append( entry.split('=', 1) ) > return lst > >-mapping.register('userCertificate', 'userCertificate;binary', univention.admin.mapping.mapBase64, univention.admin.mapping.unmapBase64) >-mapping.register('jpegPhoto', 'jpegPhoto', univention.admin.mapping.mapBase64, univention.admin.mapping.unmapBase64) >+mapping.register('userCertificate', 'userCertificate;binary', None, univention.admin.mapping.ListToString) >+mapping.register('jpegPhoto', 'jpegPhoto', None, univention.admin.mapping.ListToString) > mapping.register('umcProperty', 'univentionUMCProperty', mapKeyAndValue, unmapKeyAndValue) > > class object( univention.admin.handlers.simpleLdap, mungeddial.Support ): >Index: univention-management-console-module-appcenter/udm/handlers/appcenter/app.py >=================================================================== >--- univention-management-console-module-appcenter/udm/handlers/appcenter/app.py (Revision 43870) >+++ univention-management-console-module-appcenter/udm/handlers/appcenter/app.py (Arbeitskopie) >@@ -345,8 +345,8 @@ > mapping.register('website', 'univentionAppWebsite', None, univention.admin.mapping.ListToString) > mapping.register('websiteVendor', 'univentionAppWebsiteVendor', None, univention.admin.mapping.ListToString) > mapping.register('websiteMaintainer', 'univentionAppWebsiteMaintainer', None, univention.admin.mapping.ListToString) >-mapping.register('screenshot', 'univentionAppScreenshot', univention.admin.mapping.mapBase64, univention.admin.mapping.unmapBase64) >-mapping.register('icon', 'univentionAppIcon', univention.admin.mapping.mapBase64, univention.admin.mapping.unmapBase64) >+mapping.register('screenshot', 'univentionAppScreenshot', None, univention.admin.mapping.ListToString) >+mapping.register('icon', 'univentionAppIcon', None, univention.admin.mapping.ListToString) > mapping.register('category', 'univentionAppCategory') > mapping.register('webInterface', 'univentionAppWebInterface') > mapping.register('webInterfaceName', 'univentionAppWebInterfaceName', None, univention.admin.mapping.ListToString) >Index: univention-directory-manager-modules/modules/univention/admin/syntax.py >=================================================================== >--- univention-directory-manager-modules/modules/univention/admin/syntax.py (Revision 43835) >+++ univention-directory-manager-modules/modules/univention/admin/syntax.py (Arbeitskopie) >@@ -378,27 +379,29 @@ > else: > return value > >-class GzipBase64Upload( Upload ): >+class Base64Upload( Upload ): > @classmethod >- def parse( self, value ): >+ def tostring( self, value ): > try: >- gziped_data = base64.decodestring( value ) >- try: >- data = zlib.decompress(gziped_data, 16+zlib.MAX_WBITS) >- except: >- raise univention.admin.uexceptions.valueError( _( 'Value must be gzip compressed and Base64 encoded: %s' ) % str( value ) ) >+ return base64.b64encode( value ) > except: >- raise univention.admin.uexceptions.valueError( _( 'Not a valid Base64 string: %s' ) % str( value ) ) >- else: >- return value >+ raise univention.admin.uexceptions.valueError( _( 'Error encoding value to Base64: %s' ) % str( value ) ) > >-class Base64Upload( Upload ): > @classmethod >- def parse( self, value ): >+ def parse( self, text ): > try: >- base64.decodestring( value ) >+ return base64.b64decode( text ) > except: >- raise univention.admin.uexceptions.valueError( _( 'Not a valid Base64 string: %s' ) % str( value ) ) >+ raise univention.admin.uexceptions.valueError( _( 'Not a valid Base64 string: %s' ) % str( text ) ) >+ >+class GzipBase64Upload( Base64Upload ): >+ @classmethod >+ def parse( self, text ): >+ value = super(GzipBase64Upload, self).parse(text) >+ try: >+ zlib.decompress(value, 16+zlib.MAX_WBITS) >+ except: >+ raise univention.admin.uexceptions.valueError( _( 'Value must be gzip compressed and Base64 encoded: %s' ) % str( text ) ) > else: > return value >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 32564
: 5425