Skip to content

Instantly share code, notes, and snippets.

@ejucovy
Created May 12, 2013 12:25
Show Gist options
  • Save ejucovy/5563378 to your computer and use it in GitHub Desktop.
Save ejucovy/5563378 to your computer and use it in GitHub Desktop.
diff --git a/opencore/nui/wiki/bzrbackend.py b/opencore/nui/wiki/bzrbackend.py
index 7d2cad3..6234395 100644
--- a/opencore/nui/wiki/bzrbackend.py
+++ b/opencore/nui/wiki/bzrbackend.py
@@ -5,6 +5,8 @@ import logging
from opencore.interfaces.catalog import ILastModifiedAuthorId
from opencore.utils import get_config
import os
+import pickle
+import cPickle
from Products.CMFCore.utils import getToolByName
import shutil
from sqlalchemy import create_engine
@@ -14,7 +16,7 @@ from sqlalchemy.orm import sessionmaker
import subprocess
from sven.bzr import BzrAccess
-logger = logging.getLogger('opencore.nui.wiki')
+logger = logging.getLogger('opencore.export')
def clone(repo, to):
subprocess.call(["bzr", "checkout", repo, to])
@@ -127,13 +129,17 @@ class WikiConverter(object):
logger.info("page: %s" % pagename)
versions = pr.getHistory(ob, countPurged=False)
- for version in versions:
- when = datetime.fromtimestamp(version.sys_metadata['timestamp'])
- version_id = version.version_id
- checkin = Checkin(pagename, version_id, when)
- session.add(checkin)
- logger.info("page: %s\tversion: %s" % (pagename, version_id))
- session.commit()
+ try:
+ for version in versions:
+ when = datetime.fromtimestamp(version.sys_metadata['timestamp'])
+ version_id = version.version_id
+ checkin = Checkin(pagename, version_id, when)
+ session.add(checkin)
+ logger.info("page: %s\tversion: %s" % (pagename, version_id))
+ session.commit()
+ except (cPickle.UnpicklingError, pickle.UnpicklingError), e:
+ logger.error("Unpickling error on page %s in project %s: %s" % (
+ pagename, project.getId(), str(e)))
logger.info("page: %s\t-* current version *-" % pagename)
when = ob.ModificationDate()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment