def act_update_automatically(self, cr, uid, ids, context=None):
                # _logger.warning("<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<")
                # this = self.browse(cr, uid, ids)[0]
                # lang_name = self._get_lang_name(cr, uid, 'vi_VN')
                # _logger.warning(lang_name)
                # _logger.warning(this.lang)
                try:
                        _logger.warning("<<<<<<<<<<<<<<<<<<<< Syn <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<")
                        vn_ids = self.pool['res.lang'].search(cr, uid,[('iso_code','=','vi_VN')],context={})
                        if len(vn_ids) == 0:
                                raise osv.except_osv(_('Error!'), _('No language found'))
                                return {'type': 'ir.actions.act_window_close'}

                        vn_string = self.pool['res.lang'].read(cr, uid, vn_ids, ['name'],context={})[0]
                        _logger.warning(vn_string)
                        _logger.warning("<<<<<<<<<<<<<<<<<<<< Syn <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<")

                        buf = cStringIO.StringIO()
                        tools.trans_export('vi_VN', ['all'], buf, 'csv', cr)
                        tools.trans_load_data(cr, buf, 'csv', 'vi_VN', lang_name=vn_string['name'])
                        buf.close()
                except:
                        return {'type': 'ir.actions.act_window_close'}

                return {'type': 'ir.actions.act_window_close'}
Example #2
0
    def act_getfile(self, cr, uid, ids, context=None):
        this = self.browse(cr, uid, ids, context=context)[0]
        lang = this.lang if this.lang != NEW_LANG_KEY else False
        mods = sorted(map(lambda m: m.name, this.modules)) or ['all']

        with contextlib.closing(cStringIO.StringIO()) as buf:
            tools.trans_export(lang, mods, buf, this.format, cr)
            out = base64.encodestring(buf.getvalue())

        filename = 'new'
        if lang:
            filename = get_iso_codes(lang)
        elif len(mods) == 1:
            filename = mods[0]
        extension = this.format
        if not lang and extension == 'po':
            extension = 'pot'
        name = "%s.%s" % (filename, extension)
        this.write({ 'state': 'get', 'data': out, 'name': name })
        return {
            'type': 'ir.actions.act_window',
            'res_model': 'base.language.export',
            'view_mode': 'form',
            'view_type': 'form',
            'res_id': this.id,
            'views': [(False, 'form')],
            'target': 'new',
        }
Example #3
0
    def run_config_env(self):
        # check module installed
        self.model_obj = self.pool["ir.module.module"]
        if not self.model_obj.search_id(self.cr, 1,
                                        [("state", "=", "installed"),
                                         ("name", "=", self.params.module)]):
            _logger.error("No module %s installed!" % self.params.module)
            return

        export_filename = os.path.join(self.langdir, self.langfile)
        export_f = file(export_filename, "w")
        try:
            ignore = None
            ignore_filename = "%s.ignore" % export_filename
            if os.path.exists(ignore_filename):
                _logger.info("Load ignore file %s" % ignore_filename)
                ignore = set()
                fileobj = misc.file_open(ignore_filename)
                reader = tools.TinyPoFile(fileobj)
                for row in reader:
                    if not row[4]:
                        ignore.add(row)

            _logger.info('Writing %s', export_filename)
            tools.trans_export(self.lang, [self.params.module],
                               export_f,
                               "po",
                               self.cr,
                               ignore=ignore)
        finally:
            export_f.close()
Example #4
0
 def act_getfile(self, cr, uid, ids, context=None):
     this = self.browse(cr, uid, ids)[0]
     lang = this.lang if this.lang != NEW_LANG_KEY else False
     mods = map(lambda m: m.name, this.modules) or ['all']
     mods.sort()
     buf = cStringIO.StringIO()
     tools.trans_export(lang, mods, buf, this.format, cr)
     filename = 'new'
     if lang:
         filename = get_iso_codes(lang)
     elif len(mods) == 1:
         filename = mods[0]
     this.name = "%s.%s" % (filename, this.format)
     out = base64.encodestring(buf.getvalue())
     buf.close()
     self.write(cr, uid, ids, {'state': 'get',
                               'data': out,
                               'name':this.name}, context=context)
     return {
         'type': 'ir.actions.act_window',
         'res_model': 'base.language.export',
         'view_mode': 'form',
         'view_type': 'form',
         'res_id': this.id,
         'views': [(False, 'form')],
         'target': 'new',
     }
Example #5
0
    def button_save_translation(self):

        format_ = 'po'

        i18n_path = os.path.join(get_module_path(self.name), 'i18n')
        if not os.path.isdir(i18n_path):
            os.mkdir(i18n_path)

        lang_obj = self.env['res.lang']
        condition = [('translatable', '=', True), ('code', '!=', 'en_US')]
        langs = lang_obj.search(condition)

        files = [('%s.pot' % self.name, False)]
        for lang in langs:
            iso_code = get_iso_codes(lang.code)
            filename = '%s.%s' % (iso_code, format_)
            files.append((filename, lang.code))

        for filename, lang in files:
            path = os.path.join(i18n_path, filename)
            with open(path, 'w') as buf:
                tools.trans_export(lang, [self.name], buf, format_,
                                   self.env.cr)

        return True
 def act_getfile(self, cr, uid, ids, context=None):
     this = self.browse(cr, uid, ids)[0]
     lang = this.lang if this.lang != NEW_LANG_KEY else False
     mods = map(lambda m: m.name, this.modules) or ['all']
     mods.sort()
     buf = cStringIO.StringIO()
     tools.trans_export(lang, mods, buf, this.format, cr)
     filename = 'new'
     if lang:
         filename = get_iso_codes(lang)
     elif len(mods) == 1:
         filename = mods[0]
     this.name = "%s.%s" % (filename, this.format)
     out = base64.encodestring(buf.getvalue())
     buf.close()
     self.write(cr, uid, ids, {'state': 'get',
                               'data': out,
                               'name':this.name}, context=context)
     return {
         'type': 'ir.actions.act_window',
         'res_model': 'base.language.export',
         'view_mode': 'form',
         'view_type': 'form',
         'res_id': this.id,
         'views': [(False, 'form')],
         'target': 'new',
     }
Example #7
0
 def act_update(self, cr, uid, ids, context=None):
     this = self.browse(cr, uid, ids)[0]
     lang_name = self._get_lang_name(cr, uid, this.lang)
     buf = io.StringIO()
     tools.trans_export(this.lang, ['all'], buf, 'csv', cr)
     tools.trans_load_data(cr, buf, 'csv', this.lang, lang_name=lang_name)
     buf.close()
     return {'type': 'ir.actions.act_window_close'}
Example #8
0
 def act_update(self, cr, uid, ids, context=None):
     this = self.browse(cr, uid, ids)[0]
     lang_name = self._get_lang_name(cr, uid, this.lang)
     buf = cStringIO.StringIO()
     tools.trans_export(this.lang, ['all'], buf, 'csv', cr)
     tools.trans_load_data(cr, buf, 'csv', this.lang, lang_name=lang_name)
     buf.close()
     return {'type': 'ir.actions.act_window_close'}
Example #9
0
    def act_update_automatically(self, cr, uid, ids, context=None):
        # _logger.warning("<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<")
        # this = self.browse(cr, uid, ids)[0]
        # lang_name = self._get_lang_name(cr, uid, 'vi_VN')
        # _logger.warning(lang_name)
        # _logger.warning(this.lang)
        try:
            _logger.warning(
                "<<<<<<<<<<<<<<<<<<<< Syn <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<")
            vn_ids = self.pool['res.lang'].search(cr,
                                                  uid,
                                                  [('iso_code', '=', 'vi_VN')],
                                                  context={})
            if len(vn_ids) == 0:
                raise osv.except_osv(_('Error!'), _('No language found'))
                return {'type': 'ir.actions.act_window_close'}

            vn_string = self.pool['res.lang'].read(cr,
                                                   uid,
                                                   vn_ids, ['name'],
                                                   context={})[0]
            _logger.warning(vn_string)
            _logger.warning(
                "<<<<<<<<<<<<<<<<<<<< Syn <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<")

            buf = cStringIO.StringIO()
            tools.trans_export('vi_VN', ['all'], buf, 'csv', cr)
            tools.trans_load_data(cr,
                                  buf,
                                  'csv',
                                  'vi_VN',
                                  lang_name=vn_string['name'])
            buf.close()
        except:
            return {'type': 'ir.actions.act_window_close'}

        return {'type': 'ir.actions.act_window_close'}