[Qgis-developer] Plugins repository
Alessandro Pasotti
apasotti at gmail.com
Sun Jan 23 04:05:26 EST 2011
2011/1/23 Alex Mandel <tech_dev at wildintellect.com>
> On 01/22/2011 03:26 PM, Alessandro Pasotti wrote:
> > 2011/1/22 Gary Sherman <gsherman at geoapt.com>
> >
> >> On 1/22/11 8:57 AM, Alessandro Pasotti wrote:
> >>
> >>> 2011/1/22 Gary Sherman <gsherman at geoapt.com <mailto:
> gsherman at geoapt.com>>
> >>>
> >>>
> >>> On 1/22/11 1:25 AM, Alessandro Pasotti wrote:
> >>>
> >>> 2011/1/22 Paolo Cavallini <cavallini at faunalia.it
> >>> <mailto:cavallini at faunalia.it>
> >>> <mailto:cavallini at faunalia.it <mailto:cavallini at faunalia.it>>>
> >>>
> >>>
> >>>
> >>> Il giorno ven, 21/01/2011 alle 19.37 +0100, Alessandro
> >>> Pasotti ha
> >>> scritto:
> >>>
> >>> > The missing piece was the authentication bridge with OSGEO.
> >>>
> >>> AFAIK this is now working. If so, what prevents us from
> setting
> >>> everything in place?
> >>> All the best.
> >>>
> >>>
> >>>
> >>> I'was able to login with my osgeo credentials but I couldn't
> >>> upload a
> >>> plugin: it fails with permission denied on the folder where the
> >>> plugin
> >>> files should reside.
> >>>
> >>> Somebody with root access to the server should fix it.
> >>>
> >>> [Errno 13] Permission denied:
> >>> '********************/qgis/static/packages'
> >>>
> >>> The validation of plugin packages doesn't work properly for all
> >>> packages. My plugin that uploads and validates find on the "old"
> repo
> >>> (pyqgis.org <http://pyqgis.org>) fails on the new site:
> >>>
> >>>
> >>> File upload must be a valid QGIS Python plugin compressed archive.
> >>> Cannot find __init__.py in the compressed package: this does not
> >>> seems a valid plugin (I searched for
> pluginbuilder/Makefile__init__.py)
> >>>
> >>> Looks like it is munging things together that shouldn't be....
> >>>
> >>>
> >>>
> >
> > Your plugin loads without errors on my dev environment (I cannot
> reproduce
> > the issue).
> >
> > I will try on the server tomorrow.
> >
> > In the meantime, I've opened a project on redmine for the django site.
> >
>
> It appears that relying on the 1st item in the zip to always be
> packagename.zip just isn't 100% reliable. My metaedit plugin fails that
> test in python but is clearly formatted correctly when extracted or
> downloaded by qgis. I did test in python by hand too and metaedit/ isn't
> in the namelist at all for some reason even though the folder is there
> when the package is extracted.
>
> Here are some possible ways to change the validator
> namelist[0].split('/') to grab whatever is before the /
> or package.split('.') to grab the name of the zip minus the ext
> - There are several other ways to do this in python with the os and path
> modules, or slicing. The nice part about package.split is that you could
> save both the packagename and ext to test if the ext is zip
>
> packagename,ext = package.split('.')
>
>
Thanks Alex,
I agree, but this would be a different check:
the intention was to check that *inside* the zip there is a folder with name
= package_name, non to check that the zip file is named package_name.
Perhaps I misunderstood the specs, but I guess that the plugin zip file
could be whatever name we like (for example I name my zipfiles with the
version postfix such as QuickWKT_0.1.zip, QuickWKT_0.2.zip etc. etc.), what
I wanted to check is that inside the zip there is a folder named
package_name (in this example "QuickWKT").
I changed the line to
# Checks that package_name/__init__.py exists
namelist = zip.namelist()
try:
package_name = namelist[0][:namelist[0].index('/')]
except:
raise ValidationError( _("Cannot find a folder inside the
compressed package: this does not seems a valid plugin") )
this should make it more robust
--
Alessandro Pasotti
w3: www.itopen.it
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/qgis-developer/attachments/20110123/8949b071/attachment.html
More information about the Qgis-developer
mailing list