createrepo/__init__.py createrepo/yumbased.py

[email protected] (Seth Vidal)
Newsgroups gmane.linux.rpm.metadata
Message-ID <[email protected]>
 createrepo/__init__.py |   34 ++++++++++++++++++++++++++++++++--
 createrepo/yumbased.py |   15 +++++++++++++++
 2 files changed, 47 insertions(+), 2 deletions(-)

New commits:
commit b2513c8c888314463a52599023f076a7d2cb8ea2
Author: Seth Vidal <[email protected]>
Date:   Mon Jan 14 11:45:02 2008 -0500

    - add copyright statements and licenses to top of files
    - start function to remove all the directory mauling in genpkgmetadata
    - fixmes

diff --git a/createrepo/__init__.py b/createrepo/__init__.py
index a26a596..f57e06b 100644
--- a/createrepo/__init__.py
+++ b/createrepo/__init__.py
@@ -1,3 +1,18 @@
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU Library General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+# Copyright 2007  Red Hat, Inc - written by seth vidal skvidal at fedoraproject.org
+
 import exceptions
 import os
 import sys
@@ -27,6 +42,7 @@ from utils import _gzipOpen, bzipFile
 __version__ = '0.9.1'
 
 
+
 class MDError(exceptions.Exception):
     def __init__(self, value=None):
         exceptions.Exception.__init__(self)
@@ -65,7 +81,8 @@ class MetaDataConfig(object):
         self.finaldir = 'repodata'
         self.olddir = '.olddata'
         self.mdtimestamp = 0
-
+        self.directory = None
+        self.directories = []
 
 class SimpleMDCallBack(object):
     def errorlog(self, thing):
@@ -79,6 +96,9 @@ class SimpleMDCallBack(object):
         sys.stdout.write("\r%d/%d - %s" % (current, total, item))
         sys.stdout.flush()
             
+#FIXME = make it so you pass in a dir to doPkgMetadata() and it
+# parses out basedir and directory for relative dir from there
+# it creates the .repodata directory in the output location, etc
         
 class MetaDataGenerator:
     def __init__(self, config_obj=None, callback=None):
@@ -95,7 +115,17 @@ class MetaDataGenerator:
         self.pkgcount = 0
         self.files = []
 
-    # module
+    def _setup_and_check_repo_dir(self, direc):
+        if os.path.isabs(direc):
+            self.conf.basedir = os.path.dirname(direc)
+            self.conf.directory = os.path.basename(direc)
+        else:
+            self.conf.basedir = os.path.realpath(self.conf.basedir)
+
+        if not self.conf.opts.outputdir:
+            self.conf.outputdir = os.path.join(self.conf.basedir, direc)
+
+
     def _os_path_walk(self, top, func, arg):
         """Directory tree walk with callback function.
          copy of os.path.walk, fixes the link/stating problem
diff --git a/createrepo/yumbased.py b/createrepo/yumbased.py
index db29f94..b1a638d 100644
--- a/createrepo/yumbased.py
+++ b/createrepo/yumbased.py
@@ -1,4 +1,19 @@
 #!/usr/bin/python -tt
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU Library General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+# Copyright 2007  Red Hat, Inc - written by seth vidal skvidal at fedoraproject.org
+
 
 import os
 import sys
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.