Changeset 2365 in products for quintagroup.canonicalpath/trunk/quintagroup/canonicalpath/upgrades.py
- Timestamp:
- May 20, 2010 4:52:54 PM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
quintagroup.canonicalpath/trunk/quintagroup/canonicalpath/upgrades.py
r2362 r2365 1 import logging 2 from zope.component import queryAdapter 1 from logging import NOTSET, DEBUG, INFO, ERROR 2 from logging import Logger, StreamHandler, Formatter 3 from StringIO import StringIO 4 from zope.component import getAdapter 3 5 #from zope.component import queryMultiAdapter 4 6 from Acquisition import aq_base, aq_inner … … 13 15 """Convert canonical link to canonical path and vice versa.""" 14 16 15 def __init__(self, portal_url , logger_name="quintagroup.canonicalpath"):17 def __init__(self, portal_url): 16 18 """Create instanse of convertor. 17 19 - *portal_url* (string), add in the front of canonical path property … … 19 21 - *logger_name* - name of the logger 20 22 """ 21 self. initLogger(logger_name)23 self._initLogger() 22 24 self.portal_url = portal_url 23 25 24 def initLogger(self, lname): 25 self.logger = logging.getLogger(lname) 26 def getLogs(self): 27 self._inout.flush() 28 return self._inout.getvalue() 29 30 def cleanupLogs(self): 31 self._inout = StringIO() 26 32 27 33 def convertLinkToPath(self, obj): … … 42 48 Log results in logger. 43 49 """ 44 src = queryAdapter(obj, src_iface) 45 dst = queryAdapter(obj, dst_iface) 46 # XXX: Check is this correct work XXX 47 obj = aq_base(aq_inner(obj)) 48 # XXX 49 if src is not None \ 50 and dst is not None: 51 msg = "Migrate %s into %s for %s object: " \ 52 % (src_iface, dst_iface, obj.absolute_url()) 53 try: 54 converter(src, dst) 55 except Exception, e: 56 lev = logging.ERROR 57 msg += "WITH ERROR: %s" % str(e) 58 else: 59 lev = logging.INFO 60 msg += "SUCCESSFUL" 61 62 self.logger.log(lev, msg) 50 msg = "Migrate %s into %s for %s object: " \ 51 % (src_iface.__name__, dst_iface.__name__, obj.absolute_url()) 52 try: 53 src = getAdapter(obj, src_iface) 54 dst = getAdapter(obj, dst_iface) 55 # XXX: Check is this correct work XXX 56 obj = aq_base(aq_inner(obj)) 57 # XXX 58 converter(src, dst) 59 except Exception: 60 import sys 61 et, em, etr = map(str, sys.exc_info()) 62 lev = ERROR 63 msg += "ERROR: %s: %s" % (et, em) 64 else: 65 lev = INFO 66 msg += "SUCCESS" 67 self._logger.log(lev, msg) 63 68 64 return lev == logging.INFO and True or False69 return lev == INFO and True or False 65 70 66 71 def _convertP2L(self, src, dst): … … 69 74 cpath = cpath.startswith('/') and cpath or '/' + cpath 70 75 dst.canonical_link = self.portal_url + cpath 71 del dst.canonical_path76 del src.canonical_path 72 77 73 78 def _convertL2P(self, src, dst): … … 76 81 "Convertion from canonical link to canonical path not implemented") 77 82 83 def _initLogger(self): 84 self._inout = StringIO() 85 handler = StreamHandler(self._inout) 86 handler.setLevel(DEBUG) 87 formatter = Formatter(fmt="[%(asctime)s]: %(message)s", 88 datefmt="%H:%M:%S") 89 handler.setFormatter(formatter) 90 self._logger = Logger("quintagroup.canonicalpath", NOTSET) 91 self._logger.addHandler(handler) 78 92
Note: See TracChangeset
for help on using the changeset viewer.