diff --git a/bin/addons/__init__.py b/bin/addons/__init__.py
index a7557448ad2..a538e928cad 100644
--- a/bin/addons/__init__.py
+++ b/bin/addons/__init__.py
@@ -665,7 +665,7 @@ def load_module_graph(cr, graph, status=None, perform_checks=True, **kwargs):
process_sql_file(cr, fp)
elif ext == '.csv':
noupdate = (kind == 'init')
- tools.convert_csv_import(cr, module_name, file, id_map, mode, noupdate)
+ tools.convert_csv_import(cr, module_name, pathname, file.read(), id_map, mode, noupdate)
elif ext == '.yml':
tools.convert_yaml_import(cr, module_name, file, id_map, mode, noupdate)
else:
diff --git a/bin/addons/base/__openerp__.py b/bin/addons/base/__openerp__.py
index e595436d63f..82b092d973c 100644
--- a/bin/addons/base/__openerp__.py
+++ b/bin/addons/base/__openerp__.py
@@ -51,7 +51,6 @@
'res/res_request_view.xml',
'res/res_lang_view.xml',
'res/res_log_view.xml',
- 'res/res_company_view.xml',
'res/partner/partner_report.xml',
'res/partner/partner_view.xml',
'res/partner/partner_wizard.xml',
diff --git a/bin/addons/base/base_menu.xml b/bin/addons/base/base_menu.xml
index 4cb56873756..3989ca3641a 100644
--- a/bin/addons/base/base_menu.xml
+++ b/bin/addons/base/base_menu.xml
@@ -5,12 +5,11 @@
-
-
+
diff --git a/bin/addons/base/base_update.xml b/bin/addons/base/base_update.xml
index 7823aca8f18..157f7e12d5c 100644
--- a/bin/addons/base/base_update.xml
+++ b/bin/addons/base/base_update.xml
@@ -6,7 +6,7 @@
Languages
======================
-->
-
+
-
-
-
@@ -393,8 +389,8 @@
ir.actions.act_window
res.partner
form
- [('supplier','=',1)]
- {'default_customer':0, 'default_supplier':1}
+ []
+ {'default_customer':0, 'search_default_supplier': 1, 'default_supplier':1}
diff --git a/bin/addons/base/res/res_company_view.xml b/bin/addons/base/res/res_company_view.xml
index 34e58b75b6c..31cb145caa8 100644
--- a/bin/addons/base/res/res_company_view.xml
+++ b/bin/addons/base/res/res_company_view.xml
@@ -66,7 +66,7 @@
diff --git a/bin/osv/orm.py b/bin/osv/orm.py
index 3a45bf855b6..e365949b2f9 100644
--- a/bin/osv/orm.py
+++ b/bin/osv/orm.py
@@ -3175,14 +3175,15 @@ class orm(orm_template):
# The parent_left/right computation may take up to
# 5 seconds. No need to recompute the values if the
# parent is the same. Get the current value of the parent
- base_query = 'SELECT id FROM %s WHERE id IN %%s AND %s' % \
- (self._table, self._parent_name)
- params = (tuple(ids),)
parent_val = vals[self._parent_name]
if parent_val:
- cr.execute(base_query + " != %s", params + (parent_val,))
+ query = "SELECT id FROM %s WHERE id IN %%s AND (%s != %%s OR %s IS NULL)" % \
+ (self._table, self._parent_name, self._parent_name)
+ cr.execute(query, (tuple(ids), parent_val))
else:
- cr.execute(base_query + " IS NULL", params)
+ query = "SELECT id FROM %s WHERE id IN %%s AND (%s IS NOT NULL)" % \
+ (self._table, self._parent_name)
+ cr.execute(query, (tuple(ids),))
parents_changed = map(operator.itemgetter(0), cr.fetchall())
upd0 = []
@@ -3864,7 +3865,6 @@ class orm(orm_template):
data = self.read(cr, uid, [id], context=context_wo_lang)[0]
fields = self.fields_get(cr, uid, context=context)
- trans_data=[]
for f in fields:
ftype = fields[f]['type']
@@ -3883,40 +3883,68 @@ class orm(orm_template):
elif ftype in ('one2many', 'one2one'):
res = []
rel = self.pool.get(fields[f]['relation'])
- if data[f] != False:
+ if data[f]:
+ # duplicate following the order of the ids
+ # because we'll rely on it later for copying
+ # translations in copy_translation()!
+ data[f].sort()
for rel_id in data[f]:
# the lines are first duplicated using the wrong (old)
# parent but then are reassigned to the correct one thanks
- # to the (4, ...)
- d,t = rel.copy_data(cr, uid, rel_id, context=context)
+ # to the (0, 0, ...)
+ d = rel.copy_data(cr, uid, rel_id, context=context)
res.append((0, 0, d))
- trans_data += t
data[f] = res
elif ftype == 'many2many':
data[f] = [(6, 0, data[f])]
- trans_obj = self.pool.get('ir.translation')
- #TODO: optimize translations
- for f in fields:
- trans_name = ''
- if f in self._columns and self._columns[f].translate:
- trans_name = self._name+","+f
- elif f in self._inherit_fields and self._inherit_fields[f][2].translate:
- trans_name = self._inherit_fields[f][0] + "," + f
-
- if trans_name:
- trans_ids = trans_obj.search(cr, uid, [
- ('name', '=', trans_name),
- ('res_id','=',data['id'])
- ])
-
- trans_data.extend(trans_obj.read(cr,uid,trans_ids,context=context))
-
del data['id']
+ # make sure we don't break the current parent_store structure and
+ # force a clean recompute!
+ for parent_column in ['parent_left', 'parent_right']:
+ data.pop(parent_column, None)
+
for v in self._inherits:
del data[self._inherits[v]]
- return data, trans_data
+ return data
+
+ def copy_translations(self, cr, uid, old_id, new_id, context=None):
+ trans_obj = self.pool.get('ir.translation')
+ fields = self.fields_get(cr, uid, context=context)
+
+ translation_records = []
+ for field_name, field_def in fields.items():
+ # we must recursively copy the translations for o2o and o2m
+ if field_def['type'] in ('one2one', 'one2many'):
+ target_obj = self.pool.get(field_def['relation'])
+ old_record, new_record = self.read(cr, uid, [old_id, new_id], [field_name], context=context)
+ # here we rely on the order of the ids to match the translations
+ # as foreseen in copy_data()
+ old_childs = sorted(old_record[field_name])
+ new_childs = sorted(new_record[field_name])
+ for (old_child, new_child) in zip(old_childs, new_childs):
+ # recursive copy of translations here
+ target_obj.copy_translations(cr, uid, old_child, new_child, context=context)
+ # and for translatable fields we keep them for copy
+ elif field_def.get('translate'):
+ trans_name = ''
+ if field_name in self._columns:
+ trans_name = self._name + "," + field_name
+ elif field_name in self._inherit_fields:
+ trans_name = self._inherit_fields[field_name][0] + "," + field_name
+ if trans_name:
+ trans_ids = trans_obj.search(cr, uid, [
+ ('name', '=', trans_name),
+ ('res_id','=', old_id)
+ ])
+ translation_records.extend(trans_obj.read(cr,uid,trans_ids,context=context))
+
+ for record in translation_records:
+ del record['id']
+ record['res_id'] = new_id
+ trans_obj.create(cr, uid, record, context=context)
+
def copy(self, cr, uid, id, default=None, context=None):
"""
@@ -3931,13 +3959,9 @@ class orm(orm_template):
:return: True
"""
- trans_obj = self.pool.get('ir.translation')
- data, trans_data = self.copy_data(cr, uid, id, default, context)
+ data = self.copy_data(cr, uid, id, default, context)
new_id = self.create(cr, uid, data, context)
- for record in trans_data:
- del record['id']
- record['res_id'] = new_id
- trans_obj.create(cr, uid, record, context)
+ self.copy_translations(cr, uid, id, new_id, context)
return new_id
def exists(self, cr, uid, ids, context=None):
diff --git a/bin/report/render/rml2pdf/trml2pdf.py b/bin/report/render/rml2pdf/trml2pdf.py
index 6628817ff9d..771a59fa28f 100644
--- a/bin/report/render/rml2pdf/trml2pdf.py
+++ b/bin/report/render/rml2pdf/trml2pdf.py
@@ -380,7 +380,7 @@ class _rml_canvas(object):
try:
u = urllib.urlopen(str(node.get('file')))
s = cStringIO.StringIO(u.read())
- except:
+ except Exception:
u = file(os.path.join(self.path,str(node.get('file'))), 'rb')
s = cStringIO.StringIO(u.read())
img = ImageReader(s)
@@ -788,7 +788,7 @@ class _rml_template(object):
try :
gr = pt.findall('pageGraphics')\
or pt[1].findall('pageGraphics')
- except :
+ except Exception: # FIXME: be even more specific, perhaps?
gr=''
if len(gr):
drw = _rml_draw(self.localcontext,gr[0], self.doc, images=images, path=self.path, title=self.title)
@@ -818,7 +818,7 @@ def parseNode(rml, localcontext = {},fout=None, images={}, path='.',title=None):
try:
from customfonts import SetCustomFonts
SetCustomFonts(r)
- except:
+ except Exception:
pass
fp = cStringIO.StringIO()
r.render(fp)
@@ -832,7 +832,7 @@ def parseString(rml, localcontext = {},fout=None, images={}, path='.',title=None
try:
from customfonts import SetCustomFonts
SetCustomFonts(r)
- except:
+ except Exception:
pass
if fout:
diff --git a/bin/report/render/rml2pdf/utils.py b/bin/report/render/rml2pdf/utils.py
index be8695e7eb3..5e42278036f 100644
--- a/bin/report/render/rml2pdf/utils.py
+++ b/bin/report/render/rml2pdf/utils.py
@@ -63,7 +63,10 @@ def _child_get(node, self=None, tagname=None):
if n.get('rml_except', False):
try:
eval(n.get('rml_except'), {}, self.localcontext)
- except:
+ except GeneratorExit:
+ continue
+ except Exception:
+ logging.getLogger('report').exception()
continue
if n.get('rml_tag'):
try:
@@ -72,7 +75,10 @@ def _child_get(node, self=None, tagname=None):
n2.tag = tag
n2.attrib.update(attr)
yield n2
- except:
+ except GeneratorExit:
+ yield n
+ except Exception:
+ logging.getLogger('report').exception()
yield n
else:
yield n
@@ -81,7 +87,10 @@ def _child_get(node, self=None, tagname=None):
if self and self.localcontext and n.get('rml_except'):
try:
eval(n.get('rml_except'), {}, self.localcontext)
- except:
+ except GeneratorExit:
+ continue
+ except Exception:
+ logging.getLogger('report').exception()
continue
if self and self.localcontext and n.get('rml_tag'):
try:
@@ -91,7 +100,10 @@ def _child_get(node, self=None, tagname=None):
n2.attrib.update(attr or {})
yield n2
tagname = ''
- except:
+ except GeneratorExit:
+ pass
+ except Exception:
+ logging.getLogger('report').exception()
pass
if (tagname is None) or (n.tag==tagname):
yield n
@@ -138,7 +150,7 @@ def unit_get(size):
decimal_point = '.'
try:
decimal_point = locale.nl_langinfo(locale.RADIXCHAR)
- except:
+ except Exception:
decimal_point = locale.localeconv()['decimal_point']
size = size.replace(decimal_point, '.')
diff --git a/bin/report/report_sxw.py b/bin/report/report_sxw.py
index 9d2fb97362c..32857044cdd 100644
--- a/bin/report/report_sxw.py
+++ b/bin/report/report_sxw.py
@@ -192,7 +192,7 @@ class rml_parse(object):
return text.strip()
def removeParentNode(self, tag=None):
- raise Exception('Skip')
+ raise GeneratorExit('Skip')
def set_html_image(self,id,model=None,field=None,context=None):
if not id :
diff --git a/bin/tools/misc.py b/bin/tools/misc.py
index 9b246e5bb5f..5f69a5bdcea 100644
--- a/bin/tools/misc.py
+++ b/bin/tools/misc.py
@@ -1160,6 +1160,11 @@ def extract_zip_file(zip_file, outdirectory):
zf.close()
def detect_ip_addr():
+ """Try a very crude method to figure out a valid external
+ IP or hostname for the current machine. Don't rely on this
+ for binding to an interface, but it could be used as basis
+ for constructing a remote URL to the server.
+ """
def _detect_ip_addr():
from array import array
import socket
diff --git a/bin/tools/safe_eval.py b/bin/tools/safe_eval.py
index ef26fbc4cbe..0a2a99ce07d 100644
--- a/bin/tools/safe_eval.py
+++ b/bin/tools/safe_eval.py
@@ -34,6 +34,7 @@ condition/math builtins.
from opcode import HAVE_ARGUMENT, opmap, opname
from types import CodeType
+import logging
__all__ = ['test_expr', 'literal_eval', 'safe_eval', 'const_eval', 'ext_eval' ]
@@ -56,6 +57,7 @@ _SAFE_OPCODES = _EXPR_OPCODES.union(set(opmap[x] for x in [
'DELETE_NAME', 'JUMP_IF_TRUE', 'JUMP_IF_FALSE','MAKE_FUNCTION',
] if x in opmap))
+_logger = logging.getLogger('safe_eval')
def _get_opcodes(codeobj):
"""_get_opcodes(codeobj) -> [opcodes]
@@ -83,11 +85,19 @@ def test_expr(expr, allowed_codes, mode="eval"):
Test that the expression contains only the allowed opcodes.
If the expression is valid and contains only allowed codes,
- return the compiled code object. Otherwise raise a ValueError.
+ return the compiled code object.
+ Otherwise raise a ValueError, a Syntax Error or TypeError accordingly.
"""
try:
+ if mode == 'eval':
+ # eval() does not like leading/trailing whitespace
+ expr = expr.strip()
code_obj = compile(expr, "", mode)
- except:
+ except (SyntaxError, TypeError):
+ _logger.debug('Invalid eval expression', exc_info=True)
+ raise
+ except Exception:
+ _logger.debug('Disallowed or invalid eval expression', exc_info=True)
raise ValueError("%s is not a valid expression" % expr)
for code in _get_opcodes(code_obj):
if code not in allowed_codes:
@@ -206,6 +216,8 @@ def safe_eval(expr, globals_dict=None, locals_dict=None, mode="eval", nocopy=Fal
This can be used to e.g. evaluate
an OpenERP domain expression from an untrusted source.
+ Throws TypeError, SyntaxError or ValueError (not allowed) accordingly.
+
>>> safe_eval("__import__('sys').modules")
Traceback (most recent call last):
...
diff --git a/bin/tools/translate.py b/bin/tools/translate.py
index d85ee20422f..7648470edb6 100644
--- a/bin/tools/translate.py
+++ b/bin/tools/translate.py
@@ -585,7 +585,10 @@ def trans_generate(lang, modules, dbname=None):
for constraint in pool.get(model)._constraints:
msg = constraint[1]
- push_translation(module, 'constraint', model, 0, encode(msg))
+ # Check presence of __call__ directly instead of using
+ # callable() because it will be deprecated as of Python 3.0
+ if not hasattr(msg, '__call__'):
+ push_translation(module, 'constraint', model, 0, encode(msg))
for field_name,field_def in pool.get(model)._columns.items():
if field_def.translate:
diff --git a/debian/po/bg.po b/debian/po/bg.po
index 9f0ac822d59..b5f5ffaa2e3 100644
--- a/debian/po/bg.po
+++ b/debian/po/bg.po
@@ -14,7 +14,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-06-01 03:44+0000\n"
+"X-Launchpad-Export-Date: 2010-06-23 03:52+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. Type: string
diff --git a/debian/po/ca.po b/debian/po/ca.po
index 453990a83a3..3dfe72a504b 100644
--- a/debian/po/ca.po
+++ b/debian/po/ca.po
@@ -15,7 +15,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-06-01 03:44+0000\n"
+"X-Launchpad-Export-Date: 2010-06-23 03:52+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. Type: string
diff --git a/debian/po/cs.po b/debian/po/cs.po
index c3bfefdae15..dd6b0d2544e 100644
--- a/debian/po/cs.po
+++ b/debian/po/cs.po
@@ -13,7 +13,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-06-01 03:44+0000\n"
+"X-Launchpad-Export-Date: 2010-06-23 03:52+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. Type: string
diff --git a/debian/po/de.po b/debian/po/de.po
index 644e67f6955..a0457efefbd 100644
--- a/debian/po/de.po
+++ b/debian/po/de.po
@@ -14,7 +14,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-06-01 03:44+0000\n"
+"X-Launchpad-Export-Date: 2010-06-23 03:52+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. Type: string
diff --git a/debian/po/el.po b/debian/po/el.po
index 6e3fd530e1c..0ecbe5c31c9 100644
--- a/debian/po/el.po
+++ b/debian/po/el.po
@@ -14,7 +14,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-06-01 03:44+0000\n"
+"X-Launchpad-Export-Date: 2010-06-23 03:52+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. Type: string
diff --git a/debian/po/es.po b/debian/po/es.po
index 27691d9a7fc..39be30756b3 100644
--- a/debian/po/es.po
+++ b/debian/po/es.po
@@ -15,7 +15,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-06-01 03:44+0000\n"
+"X-Launchpad-Export-Date: 2010-06-23 03:52+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. Type: string
diff --git a/debian/po/es_EC.po b/debian/po/es_EC.po
index 093b4b3bbc5..2811b6e8bda 100644
--- a/debian/po/es_EC.po
+++ b/debian/po/es_EC.po
@@ -14,7 +14,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-06-01 03:44+0000\n"
+"X-Launchpad-Export-Date: 2010-06-23 03:52+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. Type: string
diff --git a/debian/po/fa.po b/debian/po/fa.po
index 70dbd052523..a919a12ff0a 100644
--- a/debian/po/fa.po
+++ b/debian/po/fa.po
@@ -14,7 +14,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-06-01 03:44+0000\n"
+"X-Launchpad-Export-Date: 2010-06-23 03:52+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. Type: string
diff --git a/debian/po/fi.po b/debian/po/fi.po
index 25be4b8496f..c0cb687e4af 100644
--- a/debian/po/fi.po
+++ b/debian/po/fi.po
@@ -13,7 +13,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-06-01 03:44+0000\n"
+"X-Launchpad-Export-Date: 2010-06-23 03:52+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. Type: string
diff --git a/debian/po/fr.po b/debian/po/fr.po
index 11a5057d48c..9a003626c11 100644
--- a/debian/po/fr.po
+++ b/debian/po/fr.po
@@ -13,7 +13,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-06-01 03:44+0000\n"
+"X-Launchpad-Export-Date: 2010-06-23 03:52+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. Type: string
diff --git a/debian/po/gl.po b/debian/po/gl.po
index e86e98225fb..aafd6d8b2c1 100644
--- a/debian/po/gl.po
+++ b/debian/po/gl.po
@@ -13,7 +13,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-06-01 03:44+0000\n"
+"X-Launchpad-Export-Date: 2010-06-23 03:52+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. Type: string
diff --git a/debian/po/hr.po b/debian/po/hr.po
index 0d6d8cbfd30..7fb2b0e5630 100644
--- a/debian/po/hr.po
+++ b/debian/po/hr.po
@@ -14,7 +14,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-06-01 03:44+0000\n"
+"X-Launchpad-Export-Date: 2010-06-23 03:52+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. Type: string
diff --git a/debian/po/it.po b/debian/po/it.po
index f340f7fb808..1281f868782 100644
--- a/debian/po/it.po
+++ b/debian/po/it.po
@@ -13,7 +13,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-06-01 03:44+0000\n"
+"X-Launchpad-Export-Date: 2010-06-23 03:52+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. Type: string
diff --git a/debian/po/ja.po b/debian/po/ja.po
index 7f2cc1280bc..c9f8473cd2a 100644
--- a/debian/po/ja.po
+++ b/debian/po/ja.po
@@ -13,7 +13,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-06-01 03:44+0000\n"
+"X-Launchpad-Export-Date: 2010-06-23 03:52+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. Type: string
diff --git a/debian/po/ko.po b/debian/po/ko.po
index a87dcf2a527..deb554fe0d1 100644
--- a/debian/po/ko.po
+++ b/debian/po/ko.po
@@ -14,7 +14,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-06-01 03:44+0000\n"
+"X-Launchpad-Export-Date: 2010-06-23 03:52+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. Type: string
diff --git a/debian/po/nb.po b/debian/po/nb.po
index 497a1a55762..6a3aaecadfe 100644
--- a/debian/po/nb.po
+++ b/debian/po/nb.po
@@ -14,7 +14,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-06-01 03:44+0000\n"
+"X-Launchpad-Export-Date: 2010-06-23 03:52+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. Type: string
diff --git a/debian/po/nl.po b/debian/po/nl.po
index 4df9ad5bfb4..fe7343ce612 100644
--- a/debian/po/nl.po
+++ b/debian/po/nl.po
@@ -14,7 +14,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-06-01 03:44+0000\n"
+"X-Launchpad-Export-Date: 2010-06-23 03:52+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. Type: string
diff --git a/debian/po/pl.po b/debian/po/pl.po
index c25c651de13..c7a249a188c 100644
--- a/debian/po/pl.po
+++ b/debian/po/pl.po
@@ -14,7 +14,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-06-01 03:44+0000\n"
+"X-Launchpad-Export-Date: 2010-06-23 03:52+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. Type: string
diff --git a/debian/po/pt.po b/debian/po/pt.po
index 26bc4f9b259..5b08e9da2a2 100644
--- a/debian/po/pt.po
+++ b/debian/po/pt.po
@@ -13,7 +13,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-06-01 03:44+0000\n"
+"X-Launchpad-Export-Date: 2010-06-23 03:52+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. Type: string
diff --git a/debian/po/ro.po b/debian/po/ro.po
index 4822f9ff016..5c349378054 100644
--- a/debian/po/ro.po
+++ b/debian/po/ro.po
@@ -14,7 +14,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-06-01 03:44+0000\n"
+"X-Launchpad-Export-Date: 2010-06-23 03:52+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. Type: string
diff --git a/debian/po/ru.po b/debian/po/ru.po
index e56a8299354..24b68b3b0c2 100644
--- a/debian/po/ru.po
+++ b/debian/po/ru.po
@@ -14,7 +14,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-06-01 03:44+0000\n"
+"X-Launchpad-Export-Date: 2010-06-23 03:52+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. Type: string
diff --git a/debian/po/sk.po b/debian/po/sk.po
index be956280666..679a9c87e7a 100644
--- a/debian/po/sk.po
+++ b/debian/po/sk.po
@@ -14,7 +14,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-06-01 03:44+0000\n"
+"X-Launchpad-Export-Date: 2010-06-23 03:52+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. Type: string
diff --git a/debian/po/sv.po b/debian/po/sv.po
index 338e0e4ba4e..ad7136a0ee9 100644
--- a/debian/po/sv.po
+++ b/debian/po/sv.po
@@ -13,7 +13,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-06-01 03:44+0000\n"
+"X-Launchpad-Export-Date: 2010-06-23 03:52+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
"X-Poedit-Language: Swedish\n"
diff --git a/debian/po/tr.po b/debian/po/tr.po
index 0fc44a158b3..3b3bb8beace 100644
--- a/debian/po/tr.po
+++ b/debian/po/tr.po
@@ -14,7 +14,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-06-01 03:44+0000\n"
+"X-Launchpad-Export-Date: 2010-06-23 03:52+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. Type: string
diff --git a/debian/po/uk.po b/debian/po/uk.po
index f6039af60d9..5ea3a9e93d9 100644
--- a/debian/po/uk.po
+++ b/debian/po/uk.po
@@ -14,7 +14,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-06-01 03:44+0000\n"
+"X-Launchpad-Export-Date: 2010-06-23 03:52+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. Type: string
diff --git a/debian/po/zh_CN.po b/debian/po/zh_CN.po
index e0c8dd936ed..d470cc042fb 100644
--- a/debian/po/zh_CN.po
+++ b/debian/po/zh_CN.po
@@ -13,7 +13,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-06-01 03:44+0000\n"
+"X-Launchpad-Export-Date: 2010-06-23 03:52+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. Type: string
diff --git a/debian/po/zh_TW.po b/debian/po/zh_TW.po
index d75b7371cb6..253b1324eb6 100644
--- a/debian/po/zh_TW.po
+++ b/debian/po/zh_TW.po
@@ -12,7 +12,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-06-01 03:44+0000\n"
+"X-Launchpad-Export-Date: 2010-06-23 03:52+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
"X-Poedit-Country: TAIWAN\n"
"X-Poedit-Language: Chinese\n"