Skip to content

Commit 3a74406

Browse files
committed
Ready for v1.0.1.
1 parent 7379db3 commit 3a74406

File tree

8 files changed

+84
-25
lines changed

8 files changed

+84
-25
lines changed

.travis.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,4 @@ install:
1010
- python setup.py install
1111

1212
script:
13-
- python cdp/test/test_cdp_parameter.py
13+
- bash cdp/test/test.sh

cdp/cdp_parser.py

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -10,28 +10,28 @@ def __init__(self, parameter_cls, *args, **kwargs):
1010
super(CDPParser, self).__init__(conflict_handler='resolve',
1111
*args, **kwargs)
1212
self.load_default_args()
13-
self.parameter = parameter_cls()
14-
self.args_namespace = None
13+
self._parameter = parameter_cls()
14+
self._args_namespace = None
1515

1616
def get_parameter(self):
1717
""" Returns the parameter created by
1818
the command line inputs """
1919

20-
if self.args_namespace is None:
21-
self.args_namespace = self.parse_args()
22-
print self.args_namespace
20+
if self._args_namespace is None:
21+
self._args_namespace = self.parse_args()
2322

24-
if self.args_namespace.parameter is not None:
25-
self.parameter.load_parameter_from_py(self.args_namespace.parameter)
23+
if self._args_namespace.parameter is not None:
24+
self._parameter.load_parameter_from_py(
25+
self._args_namespace.parameter)
2626

2727
# Overwrite the values of the parameter with the user's args
28-
for arg_name, arg_value in vars(self.args_namespace).iteritems():
28+
for arg_name, arg_value in vars(self._args_namespace).iteritems():
2929
if arg_value is not None:
3030
# Add it to the parameter
31-
setattr(self.parameter, arg_name, arg_value)
31+
setattr(self._parameter, arg_name, arg_value)
3232

33-
self.parameter.check_values()
34-
return self.parameter
33+
self._parameter.check_values()
34+
return self._parameter
3535

3636
def load_default_args(self):
3737
""" Load the default arguments for
@@ -46,4 +46,4 @@ def load_default_args(self):
4646
def add_args_and_values(self, arg_list):
4747
""" Used for testing. Can test args input as if they
4848
were inputted from the command line. """
49-
self.args_namespace = self.parse_args(arg_list)
49+
self._args_namespace = self.parse_args(arg_list)

cdp/test/test.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
python -m unittest discover $(dirname $0)/

cdp/test/test_cdp_parameter.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,17 @@
44

55

66
class TestCDPParameter(unittest.TestCase):
7+
class MyCDPParameter(cdp.cdp_parameter.CDPParameter):
8+
def check_values(self):
9+
pass
10+
711
def write_file(self, file_name, contents):
812
f = open(file_name, 'w')
913
f.write(contents)
1014
f.close()
1115

1216
def setUp(self):
13-
class MyCDPParameter(cdp.cdp_parameter.CDPParameter):
14-
def check_values(self):
15-
pass
16-
self.cdp_parameter = MyCDPParameter()
17+
self.cdp_parameter = self.MyCDPParameter()
1718

1819
def test_load_working_parameter(self):
1920
self.write_file('CDPParameterFile.py', 'var0 = "var0"\n')

cdp/test/test_cdp_parser.py

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
import unittest
2+
import os
3+
import cdp.cdp_parameter
4+
import cdp.cdp_parser
5+
6+
7+
class TestCDPParser(unittest.TestCase):
8+
9+
class MyCDPParameter(cdp.cdp_parameter.CDPParameter):
10+
def check_values(self):
11+
pass
12+
13+
class MyCDPParser(cdp.cdp_parser.CDPParser):
14+
def __init__(self, *args, **kwargs):
15+
super(TestCDPParser.MyCDPParser, self).__init__(
16+
TestCDPParser.MyCDPParameter, *args, **kwargs)
17+
18+
def load_default_args(self):
19+
super(TestCDPParser.MyCDPParser, self).load_default_args()
20+
self.add_argument(
21+
'-v', '--vars',
22+
type=str,
23+
nargs='+',
24+
dest='vars',
25+
help='Variables to use',
26+
required=False)
27+
28+
def write_file(self, file_name, contents):
29+
f = open(file_name, 'w')
30+
f.write(contents)
31+
f.close()
32+
33+
def setUp(self):
34+
self.cdp_parser = self.MyCDPParser()
35+
36+
def test_load_default_args(self):
37+
self.write_file('param_file.py', 'vars=["v1", "v2"]\n')
38+
try:
39+
self.cdp_parser.add_args_and_values(['-p', 'param_file.py'])
40+
self.cdp_parser.get_parameter()
41+
except:
42+
self.fail('Failed to load a parameter with -p.')
43+
os.remove('param_file.py')
44+
45+
def test_load_custom_args(self):
46+
try:
47+
self.cdp_parser.add_args_and_values(['-v', 'v1', 'v2'])
48+
except:
49+
self.fail('Failed to load variables with -v.')
50+
51+
def test_get_parameter(self):
52+
self.cdp_parser.add_args_and_values(['-v', 'v1', 'v2'])
53+
para = self.cdp_parser.get_parameter()
54+
self.assertTrue(para.vars, ['v1', 'v2'])
55+
56+
if __name__ == '__main__':
57+
unittest.main()

conda/meta.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@ about:
44

55
package:
66
name: cdp
7-
version: '1.0.0'
7+
version: '1.0.1'
88

99
source:
10-
git_rev: v1.0.0
10+
git_rev: v1.0.1
1111
git_url: https://github.com/UV-CDAT/CDP.git
1212

1313
requirements:

docs/source/conf.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -59,9 +59,9 @@
5959
# built documents.
6060
#
6161
# The short X.Y version.
62-
version = u'1.0.0'
62+
version = u'1.0.1'
6363
# The full version, including alpha/beta/rc tags.
64-
release = u'1.0.0'
64+
release = u'1.0.1'
6565

6666
# The language for content autogenerated by Sphinx. Refer to documentation
6767
# for a list of supported languages.
@@ -135,7 +135,7 @@
135135
# The name for this set of Sphinx documents.
136136
# "<project> v<release> documentation" by default.
137137
#
138-
# html_title = u'cdp v1.0.0'
138+
# html_title = u'cdp v1.0.1'
139139

140140
# A shorter title for the navigation bar. Default is the same as html_title.
141141
#
@@ -147,8 +147,8 @@
147147
# html_logo = None
148148

149149
# The name of an image file (relative to this directory) to use as a favicon of
150-
# the docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
151-
# pixels large.
150+
# the docs. This file should be a Windows icon file (.ico) being 16x16 or
151+
# 32x32 pixels large.
152152
#
153153
# html_favicon = None
154154

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
setup(
44
name="cdp",
5-
version="1.0.0",
5+
version="1.0.1",
66
author="Zeshawn Shaheen",
77
author_email="[email protected]",
88
description="Framework for creating climate diagnostics.",

0 commit comments

Comments
 (0)