public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [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