summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRyan S. Arnold <ryan.arnold@linaro.org>2016-08-17 11:56:01 -0500
committerRyan S. Arnold <ryan.arnold@linaro.org>2016-08-17 11:56:01 -0500
commit622da8d1c381ac634635d0905679d6f7641698eb (patch)
tree64b843608821c962eebdba0d9c3092907d08ba44
parentd3848d12854f5b19351bf1ff5e2d7cc95d8fc95c (diff)
Re-organize python code to use a directory module layout
-rw-r--r--linaropy/__init__.py1
-rw-r--r--linaropy/git/__init__.py0
-rw-r--r--linaropy/git/clone.py (renamed from clone.py)2
-rw-r--r--linaropy/git/gitrepo.py (renamed from gitrepo.py)2
-rw-r--r--linaropy/git/workdir.py (renamed from workdir.py)2
-rw-r--r--linaropy/handle_exit.py (renamed from handle_exit.py)0
-rw-r--r--linaropy/proj.py (renamed from proj.py)3
-rw-r--r--linaropy/rn/__init__.py0
-rw-r--r--linaropy/rn/custom_wordwrap.py (renamed from custom_wordwrap.py)0
-rw-r--r--linaropy/rn/gccclone.py (renamed from gccclone.py)4
-rw-r--r--linaropy/rn/linaroseries.py (renamed from linaroseries.py)9
-rw-r--r--linaropy/rn/rngen.py (renamed from rngen.py)4
-rw-r--r--linaropy/rn/rnseries.py (renamed from rnseries.py)16
-rw-r--r--linaropy/rn/template.py (renamed from template.py)8
-rw-r--r--linaropy/rninput.py (renamed from rninput.py)0
-rw-r--r--linaropy/series.py (renamed from series.py)2
-rw-r--r--linaropy/vers.py (renamed from vers.py)0
-rw-r--r--rn.py22
-rw-r--r--testrn.py24
19 files changed, 61 insertions, 38 deletions
diff --git a/linaropy/__init__.py b/linaropy/__init__.py
new file mode 100644
index 0000000..987d6df
--- /dev/null
+++ b/linaropy/__init__.py
@@ -0,0 +1 @@
+#__all__ = ["linarorn", "linarogit"]
diff --git a/linaropy/git/__init__.py b/linaropy/git/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/linaropy/git/__init__.py
diff --git a/clone.py b/linaropy/git/clone.py
index a3544bf..d8fe126 100644
--- a/clone.py
+++ b/linaropy/git/clone.py
@@ -11,7 +11,7 @@ from sh import chmod
# In order to set directory read/write permissions for test cases
from stat import *
-from proj import Proj
+from ..proj import Proj
from gitrepo import cd
from gitrepo import GitRepo
diff --git a/gitrepo.py b/linaropy/git/gitrepo.py
index 06a79de..99b2573 100644
--- a/gitrepo.py
+++ b/linaropy/git/gitrepo.py
@@ -11,7 +11,7 @@ import subprocess
# Use this to manage 'cd' context
from contextlib import contextmanager
-from proj import Proj
+from ..proj import Proj
# Return to prevdir when context is exited.
# Use in the following manner:
#
diff --git a/workdir.py b/linaropy/git/workdir.py
index e939dd0..77fa22a 100644
--- a/workdir.py
+++ b/linaropy/git/workdir.py
@@ -4,7 +4,7 @@ import os
import uuid
-from proj import Proj
+from ..proj import Proj
from gitrepo import cd
from gitrepo import GitRepo
diff --git a/handle_exit.py b/linaropy/handle_exit.py
index 7eb4ae1..7eb4ae1 100644
--- a/handle_exit.py
+++ b/linaropy/handle_exit.py
diff --git a/proj.py b/linaropy/proj.py
index 8f8fa7b..819cbe4 100644
--- a/proj.py
+++ b/linaropy/proj.py
@@ -24,12 +24,11 @@ class Proj(object):
self.persist=False
longevity="temporary"
- #TODO: Take an option variable to pass to mkdtemp to collect all
- # instances of Proj in to for testing purposes.
self.projdir=unicode(tempfile.mkdtemp(prefix=prefix), "utf-8")
logging.info("Created %s project directory in %s" % (longevity, self.projdir))
def cleanup(self):
+
#FIXME: Only rm -rf if the directory exists. Make sure it's not / or /home
# #TODO: make sure that persisdir isn't a mount-bind to /home
if not self.persist and self.projdir != "/" and self.projdir != "/home":
diff --git a/linaropy/rn/__init__.py b/linaropy/rn/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/linaropy/rn/__init__.py
diff --git a/custom_wordwrap.py b/linaropy/rn/custom_wordwrap.py
index 4ed3e25..4ed3e25 100644
--- a/custom_wordwrap.py
+++ b/linaropy/rn/custom_wordwrap.py
diff --git a/gccclone.py b/linaropy/rn/gccclone.py
index dcb8b71..36f610b 100644
--- a/gccclone.py
+++ b/linaropy/rn/gccclone.py
@@ -1,7 +1,7 @@
-from clone import Clone
from sh import git
-from gitrepo import cd
+from ..git.clone import Clone
+from ..git.gitrepo import cd
class GCCClone(Clone):
def __init__(self, proj, clonedir=None, remote=None ):
diff --git a/linaroseries.py b/linaropy/rn/linaroseries.py
index 382ed08..f978655 100644
--- a/linaroseries.py
+++ b/linaropy/rn/linaroseries.py
@@ -1,13 +1,12 @@
import unittest
import copy
-from series import Series
-from series import seriesFromBranchname
from datetime import datetime
from dateutil.relativedelta import relativedelta
-from vers import Spin
-from vers import Rc
-
+from ..vers import Spin
+from ..vers import Rc
+from ..series import Series
+from ..series import seriesFromBranchname
# Progression:
# The Linaro release progression follows.
diff --git a/rngen.py b/linaropy/rn/rngen.py
index 004ad4d..b030a3e 100644
--- a/rngen.py
+++ b/linaropy/rn/rngen.py
@@ -30,12 +30,12 @@ from shutil import copyfile
# To test if a remote file exists.
import urllib2
-from series import Series
+from ..series import Series
from linaroseries import LinaroSeries
from rnseries import CandidateRN
from gccclone import GCCClone
-from rninput import finput
+from ..rninput import finput
def get_gcc_version(gccclone):
dct= {}
diff --git a/rnseries.py b/linaropy/rn/rnseries.py
index 1b02373..d3e2c3f 100644
--- a/rnseries.py
+++ b/linaropy/rn/rnseries.py
@@ -2,20 +2,20 @@ import unittest
import logging
import os
-from proj import Proj
from sh import ls
from shutil import copyfile
-from gitrepo import cd
-from clone import Clone
-from workdir import Workdir
-from series import Series
-from series import seriesFromBranchname
+from ..proj import Proj
+from ..git.gitrepo import cd
+from ..git.clone import Clone
+from ..git.workdir import Workdir
+from ..series import Series
+from ..series import seriesFromBranchname
from linaroseries import LinaroSeries
from linaroseries import linaroSeriesFromBranchname
from template import TemplateRN
-from rninput import yninput
+from ..rninput import yninput
# Abstract base class for a release-notes series
# Every RNSeries has a templateRN instance and a workdir. The template
@@ -29,7 +29,7 @@ class RNSeries(object):
# If there isn't one a new one will be cloned.
# @trackseries - an instance of a LinaroSeries to track.
# @nextseries - an instance of a LinaroSeries that is the next series.
- def __init__(self, proj, rnrepo=None, trackseries=None, nextseries=None):
+ def __init__(self, proj, rnrepo=None, trackseries=None, nextseries=None, headless=False):
# Create the release-notes repository clone. The Clone constructor
# will throw an exception if proj is not a Proj. That is an
diff --git a/template.py b/linaropy/rn/template.py
index 4f6a865..c036add 100644
--- a/template.py
+++ b/linaropy/rn/template.py
@@ -5,10 +5,10 @@ import sys
import uuid
from sh import ls
-from proj import Proj
-from clone import Clone
-from workdir import Workdir
-from rninput import yninput
+from ..proj import Proj
+from ..git.clone import Clone
+from ..git.workdir import Workdir
+from ..rninput import yninput
class TemplateRN(Workdir):
_readme='components/toolchain/binaries/README.textile'
diff --git a/rninput.py b/linaropy/rninput.py
index 86d3d90..86d3d90 100644
--- a/rninput.py
+++ b/linaropy/rninput.py
diff --git a/series.py b/linaropy/series.py
index 6475fe3..3db2c97 100644
--- a/series.py
+++ b/linaropy/series.py
@@ -7,11 +7,11 @@ from vers import Spin
from vers import Rc
from vers import Vendor
from vers import Package
+from vers import packageFromStr
from datetime import datetime
from dateutil.relativedelta import relativedelta
-from vers import packageFromStr
# A Series stores the instance characteristic that describes the output
class Series(object):
diff --git a/vers.py b/linaropy/vers.py
index 6126a01..6126a01 100644
--- a/vers.py
+++ b/linaropy/vers.py
diff --git a/rn.py b/rn.py
index 313c6ef..c15f637 100644
--- a/rn.py
+++ b/rn.py
@@ -7,20 +7,20 @@ import os
import sys
# handle_exit is a context manager which guarantees that the project temporary
# directories are cleaned up when there are signals.
-from handle_exit import handle_exit
+from linaropy.handle_exit import handle_exit
from datetime import datetime
-from series import Series
-from gccclone import GCCClone
-from clone import Clone
-from linaroseries import LinaroSeries
-from linaroseries import linaroSeriesFromBranchname
-from proj import Proj
-from gitrepo import cd
-from template import TemplateRN
-from rnseries import CandidateRN
-from rngen import rngen
+from linaropy.series import Series
+from linaropy.rn.gccclone import GCCClone
+from linaropy.git.clone import Clone
+from linaropy.rn.linaroseries import LinaroSeries
+from linaropy.rn.linaroseries import linaroSeriesFromBranchname
+from linaropy.proj import Proj
+from linaropy.git.gitrepo import cd
+from linaropy.rn.template import TemplateRN
+from linaropy.rn.rnseries import CandidateRN
+from linaropy.rn.rngen import rngen
rnProj=[]
diff --git a/testrn.py b/testrn.py
new file mode 100644
index 0000000..196cbaf
--- /dev/null
+++ b/testrn.py
@@ -0,0 +1,24 @@
+from unittest
+from rn import create_parser
+
+class TestRn(TestCase):
+"""
+Base TestCase class, sets up a CLI parser
+"""
+@classmethod
+def setUpClass(cls):
+ parser = create_parser()
+ cls.parser = parser
+
+def test_foo(self):
+# args = self.parser.parse_args(['foo', '-R', '', '-A', 'idbs81839'])
+# result = ping(args.tags, args.region, args.ami)
+# self.assertIsNotNone(result)
+
+# TODO: test %Y.%m.%d dates
+# TODO: test %Y.%m dates
+# TODO: test non-conformant dates
+# TODO: snapshots/linaro-5.3-2016.05-6 -c -d "2016.06." --strict
+
+if __name__ == '__main__':
+ unittest.main()