On 4 June 2013 11:19, Olivier SARRAT <olivier.sar...@laposte.net> wrote:

> Oops..
> I realize that the mailing list is not set to be used automatically in
> "Reply-to".
> Here is the message I've just send to Dwayne.
>
>
>
> 2013/6/4 Olivier SARRAT <olivier.sar...@laposte.net>
>
> > Hi Dwayne,
> >
> > Thanks for your very quick answer.
> > Here is the traceback I get:
> >
> > [Tue Jun 04 07:53:43 2013] [error] Traceback (most recent call last):
> > [Tue Jun 04 07:53:43 2013] [error]   File
> > "/usr/local/lib/python2.6/dist-packages/django/core/handlers/base.py",
> > lin
> > e 111, in get_response
> > [Tue Jun 04 07:53:43 2013] [error]     response = callback(request,
> > *callback_args, **callback_kwargs)
> > [Tue Jun 04 07:53:43 2013] [error]   File
> > "/var/www/pootle/apps/pootle_app/views/language/view.py", line 47, in
> > deco
> > rated_f
> > [Tue Jun 04 07:53:43 2013] [error]     return f(request,
> > translation_project, *args, **kwargs)
> > [Tue Jun 04 07:53:43 2013] [error]   File
> > "/var/www/pootle/apps/pootle_app/views/language/view.py", line 63, in
> > deco
> > rated_f
> > [Tue Jun 04 07:53:43 2013] [error]     return f(request,
> > translation_project, *args, **kwargs)
> > [Tue Jun 04 07:53:43 2013] [error]   File
> > "/var/www/pootle/apps/pootle_translationproject/views.py", line 289,
> > in ov
> > erview
> > [Tue Jun 04 07:53:43 2013] [error]     directory, store),
> > [Tue Jun 04 07:53:43 2013] [error]   File
> > "/var/www/pootle/apps/pootle_app/lib/view_handler.py", line 83, in
> > __call__
> > [Tue Jun 04 07:53:43 2013] [error]     return self.GET(template_vars,
> > request, *args, **kwargs)
> > [Tue Jun 04 07:53:43 2013] [error]   File
> > "/var/www/pootle/apps/pootle_translationproject/views.py", line 253,
> > in GET
> > [Tue Jun 04 07:53:43 2013] [error]     'items':
> > get_children(translation_project, directory),
> > [Tue Jun 04 07:53:43 2013] [error]   File
> > "/var/www/pootle/apps/pootle_misc/browser.py", line 154, in
> > get_children
> > [Tue Jun 04 07:53:43 2013] [error]     for child_store in
> > directory.child_stores.iterator()]
> > [Tue Jun 04 07:53:43 2013] [error]   File
> > "/var/www/pootle/apps/pootle_misc/browser.py", line 129, in
> > make_store_item
> > [Tue Jun 04 07:53:43 2013] [error]     item = make_generic_item(store,
> action)
> > [Tue Jun 04 07:53:43 2013] [error]   File
> > "/var/www/pootle/apps/pootle_misc/browser.py", line 87, in
> > make_generic_item
> > [Tue Jun 04 07:53:43 2013] [error]     stats = get_raw_stats(path_obj,
> > include_suggestions=True)
> > [Tue Jun 04 07:53:43 2013] [error]   File
> > "/var/www/pootle/apps/pootle_misc/stats.py", line 44, in get_raw_stats
> > [Tue Jun 04 07:53:43 2013] [error]     quick_stats =
> > add_percentages(path_obj.getquickstats())
> > [Tue Jun 04 07:53:43 2013] [error]   File
> > "/var/www/pootle/apps/pootle_misc/util.py", line 55, in _getfromcache
> > [Tue Jun 04 07:53:43 2013] [error]     result = function(instance,
> > *args, **kwargs)
> > [Tue Jun 04 07:53:43 2013] [error]   File
> > "/var/www/pootle/apps/pootle_store/models.py", line 1457, in
> > getquickstats
> > [Tue Jun 04 07:53:43 2013] [error]     return calculate_stats(self.units)
> > [Tue Jun 04 07:53:43 2013] [error]   File
> > "/var/www/pootle/apps/pootle_store/models.py", line 1368, in
> > _get_units
> > [Tue Jun 04 07:53:43 2013] [error]     self.require_units()
> > [Tue Jun 04 07:53:43 2013] [error]   File
> > "/var/www/pootle/apps/pootle_store/models.py", line 915, in
> > require_units
> > [Tue Jun 04 07:53:43 2013] [error]     if (self.file and
> > is_monolingual(type(self.file.store)) and
> > [Tue Jun 04 07:53:43 2013] [error]   File
> > "/var/www/pootle/apps/pootle_store/fields.py", line 159, in _get_store
> > [Tue Jun 04 07:53:43 2013] [error]     self._update_store_cache()
> > [Tue Jun 04 07:53:43 2013] [error]   File
> > "/var/www/pootle/apps/pootle_store/fields.py", line 179, in
> > _update_store_cache
> > [Tue Jun 04 07:53:43 2013] [error]     classes=factory_classes)
> > [Tue Jun 04 07:53:43 2013] [error]   File
> > "/usr/local/lib/python2.6/dist-packages/translate/storage/factory.py",
> > line 188, in getobject
> > [Tue Jun 04 07:53:43 2013] [error]     store =
> storeclass.parsefile(storefile)
> > [Tue Jun 04 07:53:43 2013] [error]   File
> > "/usr/local/lib/python2.6/dist-packages/translate/storage/base.py",
> > line 825, in parsefile
> > [Tue Jun 04 07:53:43 2013] [error]     newstore =
> cls.parsestring(storestring)
> > [Tue Jun 04 07:53:43 2013] [error]   File
> > "/usr/local/lib/python2.6/dist-packages/translate/storage/base.py",
> > line 729, in parsestring
> > [Tue Jun 04 07:53:43 2013] [error]     newstore.parse(storestring)
> > [Tue Jun 04 07:53:43 2013] [error]   File
> > "/usr/local/lib/python2.6/dist-packages/translate/storage/properties.py",
> > line 561, in parse
> > [Tue Jun 04 07:53:43 2013] [error]     for line in propsrc.split(u"\\n"):
> > [Tue Jun 04 07:53:43 2013] [error] AttributeError: 'NoneType' object
> > has no attribute 'split'
>

And my reply not to the list :)

I'll need to spend some time replicating this.  But it looks as if after
the delete while the file no longer exists on the filesystem Pootle is
still trying to work against a file.  So propsrc is correctly empty
(None).  But our code doesn't know what to do if it is.

Could I ask you to do the following:

1) Could you report this as a bug so we can track it.  If you are able to
elaborate further on the project setup that would be helpful

2) Could you try test this simple hack, to see if it gets you around this
situation, it might break elsewhere though.

In

/usr/local/lib/python2.6/dist-packages/translate/storage/properties.py

Can you change line 561 to read:


for line in propsrc.split(u"\n") if line is not None:


> >
> >
> >
> > Best,
> >
> > Olivier.
> >
> > *--
> > *Blog : http://www.grattecielhorizontal.info/
> > *  dernier post: *Revenu universel, les vertus de débattre d’une utopie
> > concrète <http://www.grattecielhorizontal.info/spip.php?article10>
> >
> >
> > 2013/6/4 Dwayne Bailey <dwa...@translate.org.za>
> >
> >>
> >>
> >>
> >> On 4 June 2013 08:56, Olivier SARRAT <olivier.sar...@laposte.net>
> wrote:
> >>
> >>> Hi,
> >>>
> >>> I'm facing a new bug on our Sahana Pootle server.
> >>> Here is the scenario on my Java .properties based translation project
> >>> Sigmah (http://pootle.sahanafoundation.org/projects/sigmah/), on a
> >>> server
> >>> which has been migrated from a earlier version of Pootle to v2.5.0 :
> >>> 1. add a new language to the project
> >>> 2. add a Java properties file as new source string file
> >>> 3. remove this file by using the "Delete this folder" action
> >>> 4. leave the translation project
> >>> 5. try to come back to this project in this new language
> >>> => You will get the following error :
> >>>  Server Error
> >>>
> >>> An error has occurred. Thank you for your patience.
> >>>
> >>> 'NoneType' object has no attribute 'split'
> >>>
> >>> This issue also occurs on an already existing language like "English
> >>> (United Kingdom)".
> >>>
> >>> Do you know if there could be any workaround for this issue ?
> >>>
> >>
> >> Hi Olivier,
> >>
> >> Are you able to get a full traceback?  You should be able to see that in
> >> the error log. That will help us find the code in question.  The steps
> can
> >> help replicate this but lets try get the traceback first.
> >>
> >>
> >>
> >> --
> >> Dwayne
> >>
> >> *Translate*
> >> +27 12 460 1095
> >>
> >
> >
>
> ------------------------------------------------------------------------------
> How ServiceNow helps IT people transform IT departments:
> 1. A cloud service to automate IT design, transition and operations
> 2. Dashboards that offer high-level views of enterprise services
> 3. A single system of record for all IT processes
> http://p.sf.net/sfu/servicenow-d2d-j
> _______________________________________________
> Translate-pootle mailing list
> Translate-pootle@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/translate-pootle
>



-- 
Dwayne

*Translate*
+27 12 460 1095
------------------------------------------------------------------------------
How ServiceNow helps IT people transform IT departments:
1. A cloud service to automate IT design, transition and operations
2. Dashboards that offer high-level views of enterprise services
3. A single system of record for all IT processes
http://p.sf.net/sfu/servicenow-d2d-j
_______________________________________________
Translate-pootle mailing list
Translate-pootle@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/translate-pootle

Reply via email to