Mercurial > p > roundup > code
changeset 5388:d26921b851c3
Python 3 preparation: make relative imports explicit.
Tool-generated patch.
line wrap: on
line diff
--- a/frontends/ZRoundup/__init__.py Tue Jul 24 22:21:20 2018 +0000 +++ b/frontends/ZRoundup/__init__.py Tue Jul 24 22:22:08 2018 +0000 @@ -35,7 +35,7 @@ raise ValueError("Can't determine where ZRoundup is installed") # product initialisation -from ZRoundup import ZRoundup, manage_addZRoundupForm, manage_addZRoundup +from .ZRoundup import ZRoundup, manage_addZRoundupForm, manage_addZRoundup def initialize(context): context.registerClass( ZRoundup,
--- a/roundup/backends/indexer_common.py Tue Jul 24 22:21:20 2018 +0000 +++ b/roundup/backends/indexer_common.py Tue Jul 24 22:22:08 2018 +0000 @@ -112,13 +112,13 @@ if not indexer_name: # Try everything try: - from indexer_xapian import Indexer + from .indexer_xapian import Indexer return Indexer(db) except ImportError: pass try: - from indexer_whoosh import Indexer + from .indexer_whoosh import Indexer return Indexer(db) except ImportError: pass @@ -126,11 +126,11 @@ indexer_name = "native" # fallback to native full text search if indexer_name == "xapian": - from indexer_xapian import Indexer + from .indexer_xapian import Indexer return Indexer(db) if indexer_name == "whoosh": - from indexer_whoosh import Indexer + from .indexer_whoosh import Indexer return Indexer(db) if indexer_name == "native":
--- a/roundup/cgi/PageTemplates/Expressions.py Tue Jul 24 22:21:20 2018 +0000 +++ b/roundup/cgi/PageTemplates/Expressions.py Tue Jul 24 22:22:08 2018 +0000 @@ -23,7 +23,7 @@ """ import re, sys -from TALES import Engine, CompilerError, _valid_name, NAME_RE, \ +from .TALES import Engine, CompilerError, _valid_name, NAME_RE, \ Undefined, Default, _parse_expr @@ -31,7 +31,7 @@ def getEngine(): global _engine if _engine is None: - from PathIterator import Iterator + from .PathIterator import Iterator _engine = Engine(Iterator) installHandlers(_engine) return _engine @@ -46,7 +46,7 @@ reg('not', NotExpr) reg('defer', DeferExpr) -from PythonExpr import getSecurityManager, PythonExpr +from .PythonExpr import getSecurityManager, PythonExpr guarded_getattr = getattr try: from zExceptions import Unauthorized
--- a/roundup/cgi/PageTemplates/PageTemplate.py Tue Jul 24 22:21:20 2018 +0000 +++ b/roundup/cgi/PageTemplates/PageTemplate.py Tue Jul 24 22:22:08 2018 +0000 @@ -27,7 +27,7 @@ from roundup.cgi.TAL.TALGenerator import TALGenerator # Do not use cStringIO here! It's not unicode aware. :( from roundup.cgi.TAL.TALInterpreter import TALInterpreter, FasterStringIO -from Expressions import getEngine +from .Expressions import getEngine class PageTemplate:
--- a/roundup/cgi/PageTemplates/PathIterator.py Tue Jul 24 22:21:20 2018 +0000 +++ b/roundup/cgi/PageTemplates/PathIterator.py Tue Jul 24 22:22:08 2018 +0000 @@ -17,8 +17,8 @@ subpaths of elements. """ -import TALES -from Expressions import restrictedTraverse, Undefs, getSecurityManager +from . import TALES +from .Expressions import restrictedTraverse, Undefs, getSecurityManager class Iterator(TALES.Iterator): def __bobo_traverse__(self, REQUEST, name):
--- a/roundup/cgi/PageTemplates/PythonExpr.py Tue Jul 24 22:21:20 2018 +0000 +++ b/roundup/cgi/PageTemplates/PythonExpr.py Tue Jul 24 22:22:08 2018 +0000 @@ -17,7 +17,7 @@ """Generic Python Expression Handler """ -from TALES import CompilerError +from .TALES import CompilerError from sys import exc_info class getSecurityManager:
--- a/roundup/cgi/PageTemplates/TALES.py Tue Jul 24 22:21:20 2018 +0000 +++ b/roundup/cgi/PageTemplates/TALES.py Tue Jul 24 22:22:08 2018 +0000 @@ -23,8 +23,8 @@ import re, sys from roundup.cgi import ZTUtils from weakref import ref -from MultiMapping import MultiMapping -from GlobalTranslationService import getGlobalTranslationService +from .MultiMapping import MultiMapping +from .GlobalTranslationService import getGlobalTranslationService ustr = str
--- a/roundup/cgi/TAL/DummyEngine.py Tue Jul 24 22:21:20 2018 +0000 +++ b/roundup/cgi/TAL/DummyEngine.py Tue Jul 24 22:22:08 2018 +0000 @@ -21,7 +21,7 @@ import re import sys -from TALDefs import NAME_RE, TALESError, ErrorInfo +from .TALDefs import NAME_RE, TALESError, ErrorInfo #from ITALES import ITALESCompiler, ITALESEngine #from DocumentTemplate.DT_Util import ustr ustr = str
--- a/roundup/cgi/TAL/HTMLParser.py Tue Jul 24 22:21:20 2018 +0000 +++ b/roundup/cgi/TAL/HTMLParser.py Tue Jul 24 22:22:08 2018 +0000 @@ -8,7 +8,7 @@ # and CDATA (character data -- only end tags are special). -import markupbase +from . import markupbase import re # Regular expressions used for parsing
--- a/roundup/cgi/TAL/HTMLTALParser.py Tue Jul 24 22:21:20 2018 +0000 +++ b/roundup/cgi/TAL/HTMLTALParser.py Tue Jul 24 22:22:08 2018 +0000 @@ -17,9 +17,9 @@ import sys -from TALGenerator import TALGenerator -from HTMLParser import HTMLParser, HTMLParseError -from TALDefs import \ +from .TALGenerator import TALGenerator +from .HTMLParser import HTMLParser, HTMLParseError +from .TALDefs import \ ZOPE_METAL_NS, ZOPE_TAL_NS, ZOPE_I18N_NS, METALError, TALError, I18NError BOOLEAN_HTML_ATTRS = [
--- a/roundup/cgi/TAL/TALGenerator.py Tue Jul 24 22:21:20 2018 +0000 +++ b/roundup/cgi/TAL/TALGenerator.py Tue Jul 24 22:22:08 2018 +0000 @@ -18,12 +18,12 @@ import re import cgi -import TALDefs +from . import TALDefs -from TALDefs import NAME_RE, TAL_VERSION -from TALDefs import I18NError, METALError, TALError -from TALDefs import parseSubstitution -from TranslationContext import TranslationContext, DEFAULT_DOMAIN +from .TALDefs import NAME_RE, TAL_VERSION +from .TALDefs import I18NError, METALError, TALError +from .TALDefs import parseSubstitution +from .TranslationContext import TranslationContext, DEFAULT_DOMAIN I18N_REPLACE = 1 I18N_CONTENT = 2 @@ -40,7 +40,7 @@ def __init__(self, expressionCompiler=None, xml=1, source_file=None): if not expressionCompiler: - from DummyEngine import DummyEngine + from .DummyEngine import DummyEngine expressionCompiler = DummyEngine() self.expressionCompiler = expressionCompiler self.CompilerError = expressionCompiler.getCompilerError()
--- a/roundup/cgi/TAL/TALInterpreter.py Tue Jul 24 22:21:20 2018 +0000 +++ b/roundup/cgi/TAL/TALInterpreter.py Tue Jul 24 22:22:08 2018 +0000 @@ -27,10 +27,10 @@ #from DocumentTemplate.DT_Util import ustr ustr = str -from TALDefs import TAL_VERSION, TALError, METALError, attrEscape -from TALDefs import isCurrentVersion, getProgramVersion, getProgramMode -from TALGenerator import TALGenerator -from TranslationContext import TranslationContext +from .TALDefs import TAL_VERSION, TALError, METALError, attrEscape +from .TALDefs import isCurrentVersion, getProgramVersion, getProgramMode +from .TALGenerator import TALGenerator +from .TranslationContext import TranslationContext BOOLEAN_HTML_ATTRS = [ # List of Boolean attributes in HTML that should be rendered in @@ -579,7 +579,7 @@ bytecode_handlers["insertStructure"] = do_insertStructure def insertHTMLStructure(self, text, repldict): - from HTMLTALParser import HTMLTALParser + from .HTMLTALParser import HTMLTALParser gen = AltTALGenerator(repldict, self.engine.getCompiler(), 0) p = HTMLTALParser(gen) # Raises an exception if text is invalid p.parseString(text) @@ -587,7 +587,7 @@ self.interpret(program) def insertXMLStructure(self, text, repldict): - from TALParser import TALParser + from .TALParser import TALParser gen = AltTALGenerator(repldict, self.engine.getCompiler(), 0) p = TALParser(gen) gen.enable(0)
--- a/roundup/cgi/TAL/TALParser.py Tue Jul 24 22:21:20 2018 +0000 +++ b/roundup/cgi/TAL/TALParser.py Tue Jul 24 22:22:08 2018 +0000 @@ -15,9 +15,9 @@ Parse XML and compile to TALInterpreter intermediate code. """ -from XMLParser import XMLParser -from TALDefs import XML_NS, ZOPE_I18N_NS, ZOPE_METAL_NS, ZOPE_TAL_NS -from TALGenerator import TALGenerator +from .XMLParser import XMLParser +from .TALDefs import XML_NS, ZOPE_I18N_NS, ZOPE_METAL_NS, ZOPE_TAL_NS +from .TALGenerator import TALGenerator class TALParser(XMLParser): @@ -135,8 +135,8 @@ file = sys.argv[1] p.parseFile(file) program, macros = p.getCode() - from TALInterpreter import TALInterpreter - from DummyEngine import DummyEngine + from .TALInterpreter import TALInterpreter + from .DummyEngine import DummyEngine engine = DummyEngine(macros) TALInterpreter(program, macros, engine, sys.stdout, wrap=0)()
--- a/roundup/cgi/ZTUtils/__init__.py Tue Jul 24 22:21:20 2018 +0000 +++ b/roundup/cgi/ZTUtils/__init__.py Tue Jul 24 22:22:08 2018 +0000 @@ -18,6 +18,6 @@ ''' __docformat__ = 'restructuredtext' -from Batch import Batch -from Iterator import Iterator +from .Batch import Batch +from .Iterator import Iterator
--- a/roundup/cgi/templating.py Tue Jul 24 22:21:20 2018 +0000 +++ b/roundup/cgi/templating.py Tue Jul 24 22:22:08 2018 +0000 @@ -29,7 +29,7 @@ from roundup import i18n from roundup.i18n import _ -from KeywordsExpr import render_keywords_expression_editor +from .KeywordsExpr import render_keywords_expression_editor try: # Use the cryptographic source of randomness if available @@ -244,11 +244,11 @@ for engine_name in engines: if engine_name == 'chameleon': - from engine_chameleon import Loader + from .engine_chameleon import Loader elif engine_name == 'jinja2': - from engine_jinja2 import Jinja2Loader as Loader + from .engine_jinja2 import Jinja2Loader as Loader elif engine_name == 'zopetal': - from engine_zopetal import Loader + from .engine_zopetal import Loader else: raise Exception('Unknown template engine "%s"' % engine_name) ml.add_loader(Loader(dir))
--- a/roundup/hyperdb.py Tue Jul 24 22:21:20 2018 +0000 +++ b/roundup/hyperdb.py Tue Jul 24 22:22:08 2018 +0000 @@ -26,8 +26,8 @@ import logging # roundup modules -import date, password -from support import ensureParentsExist, PrioList +from . import date, password +from .support import ensureParentsExist, PrioList from roundup.i18n import _ from roundup.cgi.exceptions import DetectorError
--- a/roundup/mailgw.py Tue Jul 24 22:21:20 2018 +0000 +++ b/roundup/mailgw.py Tue Jul 24 22:22:08 2018 +0000 @@ -100,7 +100,7 @@ import traceback import email.utils -from anypy.email_ import decode_header +from .anypy.email_ import decode_header from roundup import configuration, hyperdb, date, password, exceptions from roundup.mailer import Mailer, MessageSendError
--- a/test/benchmark.py Tue Jul 24 22:21:20 2018 +0000 +++ b/test/benchmark.py Tue Jul 24 22:22:08 2018 +0000 @@ -5,7 +5,7 @@ Interval, DatabaseError, Boolean, Number from roundup import date, password -from db_test_base import config +from .db_test_base import config def setupSchema(db, module): status = module.Class(db, "status", name=String())
--- a/test/db_test_base.py Tue Jul 24 22:21:20 2018 +0000 +++ b/test/db_test_base.py Tue Jul 24 22:22:08 2018 +0000 @@ -18,7 +18,7 @@ from __future__ import print_function import unittest, os, shutil, errno, imp, sys, time, pprint, base64, os.path import logging, cgi -import gpgmelib +from . import gpgmelib from email.parser import FeedParser import pytest @@ -34,7 +34,7 @@ from roundup.cgi.templating import HTMLItem from roundup.exceptions import UsageError, Reject -from mocknull import MockNull +from .mocknull import MockNull config = configuration.CoreConfig() config.DATABASE = "db"
--- a/test/session_common.py Tue Jul 24 22:21:20 2018 +0000 +++ b/test/session_common.py Tue Jul 24 22:22:08 2018 +0000 @@ -1,6 +1,6 @@ import os, shutil, unittest -from db_test_base import config +from .db_test_base import config class SessionTest(object):
--- a/test/test_actions.py Tue Jul 24 22:21:20 2018 +0000 +++ b/test/test_actions.py Tue Jul 24 22:22:08 2018 +0000 @@ -8,7 +8,7 @@ from roundup.cgi.client import add_message from roundup.cgi.exceptions import Redirect, Unauthorised, SeriousError, FormError -from mocknull import MockNull +from .mocknull import MockNull def true(*args, **kwargs): return 1
--- a/test/test_anydbm.py Tue Jul 24 22:21:20 2018 +0000 +++ b/test/test_anydbm.py Tue Jul 24 22:22:08 2018 +0000 @@ -18,8 +18,8 @@ import unittest, os, shutil, time from roundup.backends import get_backend -from db_test_base import DBTest, ROTest, SchemaTest, ClassicInitTest, config -from db_test_base import HTMLItemTest, SpecialActionTest +from .db_test_base import DBTest, ROTest, SchemaTest, ClassicInitTest, config +from .db_test_base import HTMLItemTest, SpecialActionTest class anydbmOpener: module = get_backend('anydbm') @@ -48,7 +48,7 @@ backend = 'anydbm' -from session_common import SessionTest +from .session_common import SessionTest class anydbmSessionTest(anydbmOpener, SessionTest, unittest.TestCase): pass
--- a/test/test_cgi.py Tue Jul 24 22:21:20 2018 +0000 +++ b/test/test_cgi.py Tue Jul 24 22:22:08 2018 +0000 @@ -22,10 +22,10 @@ # For testing very simple rendering from roundup.cgi.engine_zopetal import RoundupPageTemplate -from mocknull import MockNull +from .mocknull import MockNull -import db_test_base -from db_test_base import FormTestParent, setupTracker, FileUpload +from . import db_test_base +from .db_test_base import FormTestParent, setupTracker, FileUpload class FileList: def __init__(self, name, *files):
--- a/test/test_indexer.py Tue Jul 24 22:21:20 2018 +0000 +++ b/test/test_indexer.py Tue Jul 24 22:22:08 2018 +0000 @@ -25,10 +25,10 @@ from roundup.backends.indexer_rdbms import Indexer # borrow from other tests -from db_test_base import setupSchema, config +from .db_test_base import setupSchema, config from .test_postgresql import postgresqlOpener, skip_postgresql from .test_mysql import mysqlOpener, skip_mysql -from test_sqlite import sqliteOpener +from .test_sqlite import sqliteOpener try: import xapian
--- a/test/test_jinja2.py Tue Jul 24 22:21:20 2018 +0000 +++ b/test/test_jinja2.py Tue Jul 24 22:22:08 2018 +0000 @@ -12,7 +12,7 @@ import shutil # only, needed for tearDown. TODO: Remove when refactored. import unittest -import db_test_base +from . import db_test_base TESTSUITE_IDENTIFIER='jinja2'
--- a/test/test_mailgw.py Tue Jul 24 22:21:20 2018 +0000 +++ b/test/test_mailgw.py Tue Jul 24 22:22:08 2018 +0000 @@ -12,7 +12,7 @@ # TODO: test bcc import email -import gpgmelib +from . import gpgmelib import unittest, tempfile, os, shutil, errno, imp, sys, difflib, time import pytest @@ -40,7 +40,7 @@ from roundup import init, instance, password, __version__ #import db_test_base -import memorydb +from . import memorydb def expectedFailure(method): """ For marking a failing test.
--- a/test/test_memorydb.py Tue Jul 24 22:21:20 2018 +0000 +++ b/test/test_memorydb.py Tue Jul 24 22:22:08 2018 +0000 @@ -2,8 +2,8 @@ from roundup import hyperdb -from db_test_base import DBTest, ROTest, SchemaTest, config, setupSchema -import memorydb +from .db_test_base import DBTest, ROTest, SchemaTest, config, setupSchema +from . import memorydb class memorydbOpener: module = memorydb @@ -48,7 +48,7 @@ pass -from session_common import SessionTest +from .session_common import SessionTest class memorydbSessionTest(memorydbOpener, SessionTest, unittest.TestCase): def setUp(self): self.db = self.module.Database(config, 'admin')
--- a/test/test_mysql.py Tue Jul 24 22:21:20 2018 +0000 +++ b/test/test_mysql.py Tue Jul 24 22:22:08 2018 +0000 @@ -21,9 +21,9 @@ from roundup.hyperdb import DatabaseError from roundup.backends import get_backend, have_backend -from db_test_base import DBTest, ROTest, config, SchemaTest, ClassicInitTest -from db_test_base import ConcurrentDBTest, HTMLItemTest, FilterCacheTest -from db_test_base import SpecialActionTest +from .db_test_base import DBTest, ROTest, config, SchemaTest, ClassicInitTest +from .db_test_base import ConcurrentDBTest, HTMLItemTest, FilterCacheTest +from .db_test_base import SpecialActionTest class mysqlOpener: @@ -123,7 +123,7 @@ self.nuke_database() -from session_common import SessionTest +from .session_common import SessionTest @skip_mysql class mysqlSessionTest(mysqlOpener, SessionTest, unittest.TestCase): def setUp(self):
--- a/test/test_postgresql.py Tue Jul 24 22:21:20 2018 +0000 +++ b/test/test_postgresql.py Tue Jul 24 22:22:08 2018 +0000 @@ -21,9 +21,9 @@ from roundup.hyperdb import DatabaseError from roundup.backends import get_backend, have_backend -from db_test_base import DBTest, ROTest, config, SchemaTest, ClassicInitTest -from db_test_base import ConcurrentDBTest, HTMLItemTest, FilterCacheTest -from db_test_base import ClassicInitBase, setupTracker, SpecialActionTest +from .db_test_base import DBTest, ROTest, config, SchemaTest, ClassicInitTest +from .db_test_base import ConcurrentDBTest, HTMLItemTest, FilterCacheTest +from .db_test_base import ClassicInitBase, setupTracker, SpecialActionTest if not have_backend('postgresql'): # FIX: workaround for a bug in pytest.mark.skip(): @@ -203,7 +203,7 @@ postgresqlOpener.tearDown(self) -from session_common import SessionTest +from .session_common import SessionTest @skip_postgresql class postgresqlSessionTest(postgresqlOpener, SessionTest, unittest.TestCase): def setUp(self):
--- a/test/test_security.py Tue Jul 24 22:21:20 2018 +0000 +++ b/test/test_security.py Tue Jul 24 22:22:08 2018 +0000 @@ -23,7 +23,7 @@ from roundup import backends import roundup.password -from db_test_base import setupSchema, MyTestCase, config +from .db_test_base import setupSchema, MyTestCase, config class PermissionTest(MyTestCase, unittest.TestCase):
--- a/test/test_sqlite.py Tue Jul 24 22:21:20 2018 +0000 +++ b/test/test_sqlite.py Tue Jul 24 22:22:08 2018 +0000 @@ -18,9 +18,9 @@ import unittest, os, shutil, time from roundup.backends import get_backend, have_backend -from db_test_base import DBTest, ROTest, SchemaTest, ClassicInitTest, config -from db_test_base import ConcurrentDBTest, FilterCacheTest -from db_test_base import SpecialActionTest +from .db_test_base import DBTest, ROTest, SchemaTest, ClassicInitTest, config +from .db_test_base import ConcurrentDBTest, FilterCacheTest +from .db_test_base import SpecialActionTest class sqliteOpener: if have_backend('sqlite'): @@ -58,6 +58,6 @@ backend = 'sqlite' -from session_common import SessionTest +from .session_common import SessionTest class sqliteSessionTest(sqliteOpener, SessionTest, unittest.TestCase): pass
--- a/test/test_templating.py Tue Jul 24 22:21:20 2018 +0000 +++ b/test/test_templating.py Tue Jul 24 22:22:08 2018 +0000 @@ -3,7 +3,7 @@ from cgi import FieldStorage, MiniFieldStorage from roundup.cgi.templating import * -from test_actions import MockNull, true +from .test_actions import MockNull, true class MockDatabase(MockNull): def getclass(self, name):
--- a/test/test_userauditor.py Tue Jul 24 22:21:20 2018 +0000 +++ b/test/test_userauditor.py Tue Jul 24 22:22:08 2018 +0000 @@ -1,6 +1,6 @@ import os, unittest, shutil -from db_test_base import setupTracker +from .db_test_base import setupTracker from .test_dates import skip_pytz
--- a/test/test_xmlrpc.py Tue Jul 24 22:21:20 2018 +0000 +++ b/test/test_xmlrpc.py Tue Jul 24 22:22:08 2018 +0000 @@ -15,7 +15,7 @@ from roundup.hyperdb import String from roundup.cgi import TranslationService -import db_test_base +from . import db_test_base from .test_mysql import skip_mysql from .test_postgresql import skip_postgresql
