From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) by finch.gentoo.org (Postfix) with ESMTP id 939F21381F3 for ; Fri, 26 Jul 2013 09:40:23 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 259CBE07FE; Fri, 26 Jul 2013 09:40:19 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 971F7E07FE for ; Fri, 26 Jul 2013 09:40:18 +0000 (UTC) Received: from hornbill.gentoo.org (hornbill.gentoo.org [94.100.119.163]) (using TLSv1 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 85E3A33E865 for ; Fri, 26 Jul 2013 09:40:17 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by hornbill.gentoo.org (Postfix) with ESMTP id E5500E468F for ; Fri, 26 Jul 2013 09:40:15 +0000 (UTC) From: "Jauhien Piatlicki" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Jauhien Piatlicki" Message-ID: <1374831603.7fc51241db06c67860d1d0d12175ec8ca1b36eff.jauhien@gentoo> Subject: [gentoo-commits] proj/g-sorcery:master commit in: gs_pypi/ X-VCS-Repository: proj/g-sorcery X-VCS-Files: gs_pypi/pypi_db.py X-VCS-Directories: gs_pypi/ X-VCS-Committer: jauhien X-VCS-Committer-Name: Jauhien Piatlicki X-VCS-Revision: 7fc51241db06c67860d1d0d12175ec8ca1b36eff X-VCS-Branch: master Date: Fri, 26 Jul 2013 09:40:15 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Archives-Salt: e23782e8-0f1b-42da-b576-c90d37f83146 X-Archives-Hash: 5a1b3a9f9b3f3d5b0616342e3ad8491a commit: 7fc51241db06c67860d1d0d12175ec8ca1b36eff Author: Jauhien Piatlicki (jauhien) gmail com> AuthorDate: Fri Jul 26 09:40:03 2013 +0000 Commit: Jauhien Piatlicki gmail com> CommitDate: Fri Jul 26 09:40:03 2013 +0000 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/g-sorcery.git;a=commit;h=7fc51241 gs_pypi/pypi_db: usable ebuild_data --- gs_pypi/pypi_db.py | 34 ++++++++++++++++++++++++++++++++-- 1 file changed, 32 insertions(+), 2 deletions(-) diff --git a/gs_pypi/pypi_db.py b/gs_pypi/pypi_db.py index d0b57d4..d350e39 100644 --- a/gs_pypi/pypi_db.py +++ b/gs_pypi/pypi_db.py @@ -18,9 +18,11 @@ if py2k: else: import xmlrpc.client as xmlrpclib +import datetime +import re import sys -from g_sorcery.g_collections import Package +from g_sorcery.g_collections import Package, serializable_elist from g_sorcery.logger import Logger from g_sorcery.package_db import DBGenerator @@ -69,8 +71,36 @@ class PypiDBGenerator(DBGenerator): allowed_ords_pkg = set(range(ord('a'), ord('z'))) | set(range(ord('A'), ord('Z'))) | \ set(range(ord('0'), ord('9'))) | set(list(map(ord, ['+', '_', '-']))) + + allowed_ords_desc = set(range(ord('a'), ord('z'))) | set(range(ord('A'), ord('Z'))) | \ + set(range(ord('0'), ord('9'))) | set(list(map(ord, + ['+', '_', '-', ' ', '.', '(', ')', '[', ']', '{', '}', ',']))) + + now = datetime.datetime.now() + pseudoversion = "%04d%02d%02d" % (now.year, now.month, now.day) for package, versions in data.items(): package = "".join([x for x in package if ord(x) in allowed_ords_pkg]) for version, ebuild_data in versions.items(): - pkg_db.add_package(Package(category, package, version), ebuild_data) + description = ebuild_data["summary"] + description = "".join([x for x in description if ord(x) in allowed_ords_desc]) + longdescription = ebuild_data["description"] + longdescription = "".join([x for x in longdescription if ord(x) in allowed_ords_desc]) + + pkgver = version + match_object = re.match("(^[0-9]+[a-z]?$)|(^[0-9][0-9\.]+[0-9][a-z]?$)", pkgver) + if not match_object: + pkgver = pseudoversion + + dependencies = serializable_elist(separator="\n\t") + eclasses = ['gs-pypi'] + maintainer = [{'email' : 'piatlicki@gmail.com', + 'name' : 'Jauhien Piatlicki'}] + + ebuild_data["description"] = description + ebuild_data["longdescription"] = longdescription + ebuild_data["dependencies"] = dependencies + ebuild_data["eclasses"] = eclasses + ebuild_data["maintainer"] = maintainer + + pkg_db.add_package(Package(category, package, pkgver), ebuild_data)