* [gentoo-commits] proj/g-sorcery:master commit in: /, g_sorcery/, gs_ctan/
@ 2013-07-16 17:11 Jauhien Piatlicki
0 siblings, 0 replies; 3+ messages in thread
From: Jauhien Piatlicki @ 2013-07-16 17:11 UTC (permalink / raw
To: gentoo-commits
commit: e5e7caaf05b14567fe851a3fb2655546d8dfef9c
Author: Jauhien Piatlicki <jpiatlicki <AT> zertisa <DOT> com>
AuthorDate: Tue Jul 16 17:11:31 2013 +0000
Commit: Jauhien Piatlicki <piatlicki <AT> gmail <DOT> com>
CommitDate: Tue Jul 16 17:11:31 2013 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/g-sorcery.git;a=commit;h=e5e7caaf
gs-ctan: initial commit
---
g_sorcery/g_sorcery.py | 4 +++-
gs-ctan-overlays.xml | 14 ++++++++++++++
gs-ctan.json | 8 ++++++++
gs_ctan/__init__.py | 2 ++
gs_ctan/backend.py | 32 ++++++++++++++++++++++++++++++++
gs_ctan/ctan_db.py | 36 ++++++++++++++++++++++++++++++++++++
6 files changed, 95 insertions(+), 1 deletion(-)
diff --git a/g_sorcery/g_sorcery.py b/g_sorcery/g_sorcery.py
index 690f4cf..6beb565 100644
--- a/g_sorcery/g_sorcery.py
+++ b/g_sorcery/g_sorcery.py
@@ -70,9 +70,11 @@ def main():
def get_backend(package):
+ logger = Logger()
try:
module = importlib.import_module(package + '.backend')
- except ImportError:
+ except ImportError as error:
+ logger.error("error importing backend: " + str(error))
return None
return module
diff --git a/gs-ctan-overlays.xml b/gs-ctan-overlays.xml
new file mode 100644
index 0000000..0faceb6
--- /dev/null
+++ b/gs-ctan-overlays.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE repositories SYSTEM "/dtd/repositories.dtd">
+<repositories xmlns="" version="1.0">
+<repo quality="experimental" status="unofficial">
+ <name>ctan</name>
+ <description>CTAN packages</description>
+ <homepage>http://www.ctan.org/</homepage>
+ <owner>
+ <email>piatlicki@gmail.com</email>
+ <name>Jauhien Piatlicki</name>
+ </owner>
+ <source type="g-sorcery">gs-ctan ctan</source>
+</repo>
+</repositories>
diff --git a/gs-ctan.json b/gs-ctan.json
new file mode 100644
index 0000000..0bee1a2
--- /dev/null
+++ b/gs-ctan.json
@@ -0,0 +1,8 @@
+{
+ "package": "gs_ctan",
+ "repositories": {
+ "ctan": {
+ "repo_uri": "http://mirror.ctan.org/systems/texlive/tlnet/"
+ }
+ }
+}
diff --git a/gs_ctan/__init__.py b/gs_ctan/__init__.py
new file mode 100644
index 0000000..cf529d7
--- /dev/null
+++ b/gs_ctan/__init__.py
@@ -0,0 +1,2 @@
+#!/usr/bin/env python
+
diff --git a/gs_ctan/backend.py b/gs_ctan/backend.py
new file mode 100644
index 0000000..a9d0581
--- /dev/null
+++ b/gs_ctan/backend.py
@@ -0,0 +1,32 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+"""
+ backend.py
+ ~~~~~~~~~~
+
+ CTAN backend
+
+ :copyright: (c) 2013 by Jauhien Piatlicki
+ :license: GPL-2, see LICENSE for more details.
+"""
+
+import os
+
+from g_sorcery.backend import Backend
+from g_sorcery.metadata import MetadataGenerator
+from g_sorcery.ebuild import EbuildGenerator
+from g_sorcery.eclass import EclassGenerator
+from g_sorcery.fileutils import get_pkgpath
+
+from .ctan_db import CtanDB
+
+
+class CtanEclassGenerator(EclassGenerator):
+ def __init__(self):
+ super(CtanEclassGenerator, self).__init__(os.path.join(get_pkgpath(__file__), 'data'))
+
+
+instance = Backend(CtanDB,
+ EbuildGenerator, EbuildGenerator,
+ CtanEclassGenerator, MetadataGenerator, sync_db=False)
diff --git a/gs_ctan/ctan_db.py b/gs_ctan/ctan_db.py
new file mode 100644
index 0000000..0014c6c
--- /dev/null
+++ b/gs_ctan/ctan_db.py
@@ -0,0 +1,36 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+"""
+ ctan_db.py
+ ~~~~~~~~~~
+
+ CTAN package database
+
+ :copyright: (c) 2013 by Jauhien Piatlicki
+ :license: GPL-2, see LICENSE for more details.
+"""
+
+import os
+
+from g_sorcery.compatibility import TemporaryDirectory
+from g_sorcery.g_collections import Package
+from g_sorcery.package_db import PackageDB
+from g_sorcery.fileutils import wget
+from g_sorcery.exceptions import SyncError
+
+class CtanDB(PackageDB):
+ def __init__(self, directory, repo_uri="", db_uri=""):
+ super(CtanDB, self).__init__(directory, repo_uri, db_uri)
+
+ def generate_tree(self):
+ tempdir = TemporaryDirectory()
+
+ print(self.repo_uri)
+ tlpdb_uri = self.repo_uri + '/tlpkg/texlive.tlpdb.xz'
+ if wget(tlpdb_uri, tempdir.name):
+ raise SyncError('sync failed: ' + self.repo_uri)
+
+ del tempdir
+
+ print("works")
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [gentoo-commits] proj/g-sorcery:master commit in: /, g_sorcery/, gs_ctan/
@ 2013-07-16 23:09 Jauhien Piatlicki
0 siblings, 0 replies; 3+ messages in thread
From: Jauhien Piatlicki @ 2013-07-16 23:09 UTC (permalink / raw
To: gentoo-commits
commit: 91605f417bd7c912cbb5502a91da3872ed3e88d2
Author: Jauhien Piatlicki <piatlicki <AT> gmail <DOT> com>
AuthorDate: Tue Jul 16 17:11:31 2013 +0000
Commit: Jauhien Piatlicki <piatlicki <AT> gmail <DOT> com>
CommitDate: Tue Jul 16 17:11:31 2013 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/g-sorcery.git;a=commit;h=91605f41
gs-ctan: initial commit
---
g_sorcery/g_sorcery.py | 4 +++-
gs-ctan-overlays.xml | 14 ++++++++++++++
gs-ctan.json | 8 ++++++++
gs_ctan/__init__.py | 2 ++
gs_ctan/backend.py | 32 ++++++++++++++++++++++++++++++++
gs_ctan/ctan_db.py | 36 ++++++++++++++++++++++++++++++++++++
6 files changed, 95 insertions(+), 1 deletion(-)
diff --git a/g_sorcery/g_sorcery.py b/g_sorcery/g_sorcery.py
index 690f4cf..6beb565 100644
--- a/g_sorcery/g_sorcery.py
+++ b/g_sorcery/g_sorcery.py
@@ -70,9 +70,11 @@ def main():
def get_backend(package):
+ logger = Logger()
try:
module = importlib.import_module(package + '.backend')
- except ImportError:
+ except ImportError as error:
+ logger.error("error importing backend: " + str(error))
return None
return module
diff --git a/gs-ctan-overlays.xml b/gs-ctan-overlays.xml
new file mode 100644
index 0000000..0faceb6
--- /dev/null
+++ b/gs-ctan-overlays.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE repositories SYSTEM "/dtd/repositories.dtd">
+<repositories xmlns="" version="1.0">
+<repo quality="experimental" status="unofficial">
+ <name>ctan</name>
+ <description>CTAN packages</description>
+ <homepage>http://www.ctan.org/</homepage>
+ <owner>
+ <email>piatlicki@gmail.com</email>
+ <name>Jauhien Piatlicki</name>
+ </owner>
+ <source type="g-sorcery">gs-ctan ctan</source>
+</repo>
+</repositories>
diff --git a/gs-ctan.json b/gs-ctan.json
new file mode 100644
index 0000000..0bee1a2
--- /dev/null
+++ b/gs-ctan.json
@@ -0,0 +1,8 @@
+{
+ "package": "gs_ctan",
+ "repositories": {
+ "ctan": {
+ "repo_uri": "http://mirror.ctan.org/systems/texlive/tlnet/"
+ }
+ }
+}
diff --git a/gs_ctan/__init__.py b/gs_ctan/__init__.py
new file mode 100644
index 0000000..cf529d7
--- /dev/null
+++ b/gs_ctan/__init__.py
@@ -0,0 +1,2 @@
+#!/usr/bin/env python
+
diff --git a/gs_ctan/backend.py b/gs_ctan/backend.py
new file mode 100644
index 0000000..a9d0581
--- /dev/null
+++ b/gs_ctan/backend.py
@@ -0,0 +1,32 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+"""
+ backend.py
+ ~~~~~~~~~~
+
+ CTAN backend
+
+ :copyright: (c) 2013 by Jauhien Piatlicki
+ :license: GPL-2, see LICENSE for more details.
+"""
+
+import os
+
+from g_sorcery.backend import Backend
+from g_sorcery.metadata import MetadataGenerator
+from g_sorcery.ebuild import EbuildGenerator
+from g_sorcery.eclass import EclassGenerator
+from g_sorcery.fileutils import get_pkgpath
+
+from .ctan_db import CtanDB
+
+
+class CtanEclassGenerator(EclassGenerator):
+ def __init__(self):
+ super(CtanEclassGenerator, self).__init__(os.path.join(get_pkgpath(__file__), 'data'))
+
+
+instance = Backend(CtanDB,
+ EbuildGenerator, EbuildGenerator,
+ CtanEclassGenerator, MetadataGenerator, sync_db=False)
diff --git a/gs_ctan/ctan_db.py b/gs_ctan/ctan_db.py
new file mode 100644
index 0000000..0014c6c
--- /dev/null
+++ b/gs_ctan/ctan_db.py
@@ -0,0 +1,36 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+"""
+ ctan_db.py
+ ~~~~~~~~~~
+
+ CTAN package database
+
+ :copyright: (c) 2013 by Jauhien Piatlicki
+ :license: GPL-2, see LICENSE for more details.
+"""
+
+import os
+
+from g_sorcery.compatibility import TemporaryDirectory
+from g_sorcery.g_collections import Package
+from g_sorcery.package_db import PackageDB
+from g_sorcery.fileutils import wget
+from g_sorcery.exceptions import SyncError
+
+class CtanDB(PackageDB):
+ def __init__(self, directory, repo_uri="", db_uri=""):
+ super(CtanDB, self).__init__(directory, repo_uri, db_uri)
+
+ def generate_tree(self):
+ tempdir = TemporaryDirectory()
+
+ print(self.repo_uri)
+ tlpdb_uri = self.repo_uri + '/tlpkg/texlive.tlpdb.xz'
+ if wget(tlpdb_uri, tempdir.name):
+ raise SyncError('sync failed: ' + self.repo_uri)
+
+ del tempdir
+
+ print("works")
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [gentoo-commits] proj/g-sorcery:master commit in: /, g_sorcery/, gs_ctan/
@ 2013-07-19 16:20 Jauhien Piatlicki
0 siblings, 0 replies; 3+ messages in thread
From: Jauhien Piatlicki @ 2013-07-19 16:20 UTC (permalink / raw
To: gentoo-commits
commit: 6a02fc77f1aa554a115c510aa9958590b6f40dad
Author: Jauhien Piatlicki (jauhien) <piatlicki <AT> gmail <DOT> com>
AuthorDate: Fri Jul 19 16:14:58 2013 +0000
Commit: Jauhien Piatlicki <piatlicki <AT> gmail <DOT> com>
CommitDate: Fri Jul 19 16:14:58 2013 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/g-sorcery.git;a=commit;h=6a02fc77
g_sorcery/package_db: convert license
---
g_sorcery/package_db.py | 10 ++++++++++
gs-ctan.json | 17 +++++++++++++++++
gs_ctan/ctan_db.py | 3 +--
3 files changed, 28 insertions(+), 2 deletions(-)
diff --git a/g_sorcery/package_db.py b/g_sorcery/package_db.py
index d38a90d..4377c3f 100644
--- a/g_sorcery/package_db.py
+++ b/g_sorcery/package_db.py
@@ -207,6 +207,16 @@ class PackageDB(object):
def process_data(data):
pass
+ def convert_license(self, license_name):
+ result = license_name
+ for config in [self.common_config, self.config]:
+ if config:
+ if "licenses" in config:
+ licenses = config["licenses"]
+ if license_name in licenses:
+ result = licenses[license_name]
+ return result
+
def get_download_uries(self):
pass
diff --git a/gs-ctan.json b/gs-ctan.json
index 0bee1a2..85a356a 100644
--- a/gs-ctan.json
+++ b/gs-ctan.json
@@ -4,5 +4,22 @@
"ctan": {
"repo_uri": "http://mirror.ctan.org/systems/texlive/tlnet/"
}
+ },
+ "common_config": {
+ "licenses": {
+ "apache2": "Apache-2.0",
+ "artistic": "Artistic",
+ "Artistic2": "Artistic-2",
+ "gpl": "GPL-1",
+ "gpl2": "GPL-2",
+ "gpl3": "GPL-3",
+ "knuth": "TeX",
+ "lgpl": "LGPL-2",
+ "lgpl2.1": "LGPL-2.1",
+ "lppl": "LPPL-1.2",
+ "lppl1": "LPPL-1.2",
+ "lppl1.2": "LPPL-1.2",
+ "lppl1.3": "LPPL-1.3c"
+ }
}
}
diff --git a/gs_ctan/ctan_db.py b/gs_ctan/ctan_db.py
index 1aef53e..c0f91a9 100644
--- a/gs_ctan/ctan_db.py
+++ b/gs_ctan/ctan_db.py
@@ -141,9 +141,8 @@ class CtanDB(PackageDB):
else:
version = entry["revision"]
- #todo: convert to gentoo licenses
if "catalogue-license" in entry:
- license = entry["catalogue-license"]
+ license = self.convert_license(entry["catalogue-license"])
else:
license = "unknown"
^ permalink raw reply related [flat|nested] 3+ messages in thread
end of thread, other threads:[~2013-07-19 16:20 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-07-19 16:20 [gentoo-commits] proj/g-sorcery:master commit in: /, g_sorcery/, gs_ctan/ Jauhien Piatlicki
-- strict thread matches above, loose matches on Subject: below --
2013-07-16 23:09 Jauhien Piatlicki
2013-07-16 17:11 Jauhien Piatlicki
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox