Exemplo n.º 1
0
    def __init__(self, path):

        self.path = path

        self.default_cms = cms.ColorManager()

        self.appdata = AppData(self)
        config.load(self.appdata.app_config)
        config.save(self.appdata.app_config)
        config.resource_dir = os.path.join(self.path, 'share')

        log_level = config.log_level
        self.log_filepath = os.path.join(self.appdata.app_config_dir, 'sword.log')
        config_logging(get_sys_path(self.log_filepath), log_level)
        sys.stderr = StreamLogger(self)
        LOG.info('Logging started')

        self.accelgroup = gtk.AccelGroup()
        self.actiongroup = gtk.ActionGroup('BasicAction')
        self.proxy = AppProxy(self)
        self.inspector = DocumentInspector(self)

        self.actions = create_actions(self)
        self.mw = MainWindow(self)
        self.proxy.update_references()
Exemplo n.º 2
0
    def __init__(self, path):
        self.path = path

        self.appdata = AppData()
        config.load(self.appdata.app_config)

        self.cursors = modes.get_cursors()
        self.default_cms = cms.ColorManager(self.stub)
        self.proxy = AppProxy(self)
        self.inspector = DocumentInspector(self)
        self.clipboard = AppClipboard(self)

        self.accelgroup = gtk.AccelGroup()
        self.actiongroup = gtk.ActionGroup('BasicAction')

        self.actions = create_actions(self)
        self.mw = MainWindow(self)
        self.proxy.update_references()
Exemplo n.º 3
0
    def __init__(self, path):

        self.path = path

        self.default_cms = cms.ColorManager()

        self.appdata = AppData(self)
        config.load(self.appdata.app_config)
        config.save(self.appdata.app_config)
        config.resource_dir = os.path.join(self.path, 'share')

        self.accelgroup = gtk.AccelGroup()
        self.actiongroup = gtk.ActionGroup('BasicAction')
        self.proxy = AppProxy(self)
        self.inspector = DocumentInspector(self)

        self.actions = create_actions(self)
        self.mw = MainWindow(self)
        self.proxy.update_references()
Exemplo n.º 4
0
    def run(self):
        if '--help' in sys.argv or '-help' in sys.argv or len(sys.argv) == 1:
            self.show_help()
        elif len(sys.argv) == 2:
            self.show_short_help(_('Not enough arguments!'))

        files = []
        options_list = []
        options = {}

        for item in sys.argv[1:]:
            if item.startswith('--'):
                options_list.append(item)
            elif item.startswith('-'):
                self.show_short_help(_('Unknown option "%s"') % item)
            else:
                files.append(item)

        if not files:
            self.show_short_help(_('File names are not provided!'))
        elif len(files) == 1:
            self.show_short_help(_('Destination file name is not provided!'))
        elif not os.path.lexists(files[0]):
            self.show_short_help(
                _('Source file "%s" is not found!') % files[0])

        for item in options_list:
            result = item[2:].split('=')
            if not len(result) == 2:
                options[result[0]] = True
            else:
                key, value = result
                value = value.replace('"', '').replace("'", '')
                if value.lower() == 'yes':
                    value = True
                if value.lower() == 'no':
                    value = False
                options[key] = value

        self.do_verbose = options.get('verbose', False)
        events.connect(events.MESSAGES, self.verbose)
        log_level = options.get('log', self.config.log_level)
        self.log_filepath = os.path.join(self.appdata.app_config_dir,
                                         'uc2.log')
        config_logging(self.log_filepath, log_level)

        self.default_cms = cms.ColorManager()
        self.palettes = PaletteManager(self)

        echo('')
        msg = _('Translation of "%s" into "%s"') % (files[0], files[1])
        events.emit(events.MESSAGES, msgconst.JOB, msg)

        saver_ids = uc2const.PALETTE_SAVERS
        saver_ids += uc2const.MODEL_SAVERS + uc2const.BITMAP_SAVERS
        sid = options.get('format', '').lower()
        if sid and sid in saver_ids:
            saver_id = sid
            saver = get_saver_by_id(saver_id)
        else:
            saver, saver_id = get_saver(files[1], return_id=True)
        if saver is None:
            msg = _('Output file format of "%s" is unsupported.') % files[1]
            events.emit(events.MESSAGES, msgconst.ERROR, msg)

            msg = _('Translation is interrupted')
            events.emit(events.MESSAGES, msgconst.STOP, msg)

        loader, loader_id = get_loader(files[0], return_id=True)
        if loader is None:
            msg = _('Input file format of "%s" is unsupported.') % files[0]
            events.emit(events.MESSAGES, msgconst.ERROR, msg)

            msg = _('Translation is interrupted')
            events.emit(events.MESSAGES, msgconst.STOP, msg)

        doc = None
        try:
            if loader_id in uc2const.PALETTE_LOADERS and \
                    saver_id in uc2const.PALETTE_SAVERS:
                doc = loader(self.appdata, files[0], convert=True)
            else:
                doc = loader(self.appdata, files[0])
        except Exception as e:
            msg = _('Error while loading "%s"') % files[0]
            msg += _(
                'The file may be corrupted or contains unknown file format.')
            events.emit(events.MESSAGES, msgconst.ERROR, msg)

            msg = _('Loading is interrupted')
            LOG.error('%s %s', msg, e)
            events.emit(events.MESSAGES, msgconst.STOP, msg)

        if doc is not None:
            try:
                if loader_id in uc2const.PALETTE_LOADERS and \
                        saver_id in uc2const.PALETTE_SAVERS:
                    saver(doc, files[1], translate=False, convert=True)
                else:
                    saver(doc, files[1])
            except Exception as e:
                msg = _('Error while translation and saving "%s"') % files[0]
                events.emit(events.MESSAGES, msgconst.ERROR, msg)

                msg = _('Translation is interrupted')
                LOG.error('%s %s', msg, e)
                events.emit(events.MESSAGES, msgconst.STOP, msg)
        else:
            msg = _('Error creating model for "%s"') % files[0]
            events.emit(events.MESSAGES, msgconst.ERROR, msg)

            msg = _('Translation is interrupted')
            events.emit(events.MESSAGES, msgconst.STOP, msg)

        doc.close()
        msg = _('Translation is successful')
        events.emit(events.MESSAGES, msgconst.OK, msg)
        echo('')

        sys.exit(0)
Exemplo n.º 5
0
    def run(self):

        if len(sys.argv) < 3 or '--help' in sys.argv:
            self.show_help()

        files = []
        options_list = []
        options = {}

        for item in sys.argv[1:]:
            if item[0] == '-':
                if item == '-verbose':
                    events.connect(events.MESSAGES, self.verbose)
                else:
                    options_list.append(item)
            else:
                files.append(item)

        if len(files) <> 2: self.show_help()
        if not os.path.lexists(files[0]): self.show_help()

        for item in options_list:
            result = item[1:].split('=')
            if not len(result) == 2:
                continue
            else:
                key, value = result
                if value == 'yes': value = True
                if value == 'no': value = False
                options[key] = value

        self.default_cms = cms.ColorManager()
        self.palettes = PaletteManager(self)

        print ''
        msg = _('Translation of') + ' "%s" ' % (files[0]) + _('into "%s"') % (
            files[1])
        events.emit(events.MESSAGES, msgconst.JOB, msg)

        saver = get_saver(files[1])
        if saver is None:
            msg = _("Output file format of '%s' is unsupported.") % (files[1])
            events.emit(events.MESSAGES, msgconst.ERROR, msg)

            msg = _('Translation is interrupted')
            events.emit(events.MESSAGES, msgconst.STOP, msg)

            sys.exit(1)

        loader = get_loader(files[0])
        if loader is None:
            msg = _("Input file format of '%s' is unsupported.") % (files[0])
            events.emit(events.MESSAGES, msgconst.ERROR, msg)

            msg = _('Translation is interrupted')
            events.emit(events.MESSAGES, msgconst.STOP, msg)

            sys.exit(1)

        try:
            doc = loader(self.appdata, files[0])
        except:
            msg = _("Error while loading '%s'") % (files[0])
            msg += _(
                "The file may be corrupted or contains unknown file format.")
            events.emit(events.MESSAGES, msgconst.ERROR, msg)

            msg = _('Translation is interrupted')
            events.emit(events.MESSAGES, msgconst.STOP, msg)

            print '\n', sys.exc_info()[1], sys.exc_info()[2]
            sys.exit(1)

        if doc is not None:
            try:
                saver(doc, files[1])
            except:
                msg = _("Error while translation and saving '%s'") % (files[0])
                events.emit(events.MESSAGES, msgconst.ERROR, msg)

                msg = _('Translation is interrupted')
                events.emit(events.MESSAGES, msgconst.STOP, msg)

                print '\n', sys.exc_info()[1], sys.exc_info()[2]
                sys.exit(1)
        else:
            msg = _("Error while model creating for '%s'") % (files[0])
            events.emit(events.MESSAGES, msgconst.ERROR, msg)

            msg = _('Translation is interrupted')
            events.emit(events.MESSAGES, msgconst.STOP, msg)
            sys.exit(1)

        doc.close()
        events.emit(events.MESSAGES, msgconst.OK,
                    _('Translation is successful'))
        print ''

        sys.exit(0)