Hi, I've opened a user account on bugs.locamotion.org, and I've not been able to answer all the questions properly to create a bug report. Instead of making mistake, I prefer to reply to further questions you may have instead of polluting your bugs database with bad reports. Regarding the version, here is the information about the current Sahana server : "Pootle 2.5.0 is powered by Translate Toolkit 1.10.0" .
To fix this issue in my case, I think I will try to go back to the previous version which was working fine for me. Thanks again for the support ! 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 11:38, Olivier SARRAT <olivier.sar...@laposte.net> wrote: > >> I'm actually no the admin of this Pootle server which is hosted by the >> Sahana Foundation. So, I don't know exactly what could I add as extra >> information about the context of the bug. Could you give to me some >> questions I should reply? I could forward them to this Pootle server admin. >> > > I think if you report the bug with the info you gave that would be great. > It would help to know the Pootle and Translate Toolkit versions. Since you > seem to be able to get to the logs you probably have enough access to get > to things that could help us. > > > >> >> Regarding the code fix you suggest, What might it break elsewehere ? >> I don't think we have a Pootle test environment, and so we shouldn't take >> risks to crash the whole server. >> > > Since it is in the toolkit I'm not sure if this will break something > further along in Pootle. Mostly I wanted to see if we could unlock the > situation where we have this store. > > If you are worried about the risk then probably don't do it. > > >> >> Thanks again for your quick reply ! >> >> Olivier. >> >> >> >> 2013/6/4 Dwayne Bailey <dwa...@translate.org.za> >> >>> >>> >>> >>> 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 >>> >> >> > > > -- > 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