team4alfanous team mailing list archive
-
team4alfanous team
-
Mailing list archive
-
Message #00260
[Branch ~team4alfanous/alfanous/alfanous-git] Rev 445: Move TRUE_FALSE function into alfanous.Outputs
------------------------------------------------------------
revno: 445
committer: Assem Chelli <assem.ch@xxxxxxxxx>
timestamp: Fri 2012-11-23 00:12:08 +0100
message:
Move TRUE_FALSE function into alfanous.Outputs
also:
- simplify console interface and Json output interface to forward
directly all the arguments as flags
note:
TRUE_FALSE function is a function that evaluate the strings value and
return True or False based on it. eg. "no" is considered as False.
modified:
src/alfanous-cgi/alfanous_json2.py
src/alfanous/Outputs.py
src/alfanous/console.py
--
lp:alfanous
https://code.launchpad.net/~team4alfanous/alfanous/alfanous-git
Your team Alfanous team is subscribed to branch lp:alfanous.
To unsubscribe from this branch go to https://code.launchpad.net/~team4alfanous/alfanous/alfanous-git/+edit-subscription
=== modified file 'src/alfanous-cgi/alfanous_json2.py'
--- src/alfanous-cgi/alfanous_json2.py 2012-06-23 22:58:35 +0000
+++ src/alfanous-cgi/alfanous_json2.py 2012-11-22 23:12:08 +0000
@@ -50,42 +50,17 @@
"""
-## a function to decide what is True and what is false
-TRUE_FALSE = lambda x: False if x.lower() in ["no", "none", "null", "0", "-1", "", "false"] else True;
-
-if len( form ):
- flags = {}
- if form.has_key( "action" ): flags["action"] = form["action"][0]
- if form.has_key( "query" ): flags["query"] = form["query"][0]
- if form.has_key( "ident" ): flags["ident"] = form["ident"][0]
- if form.has_key( "platform" ): flags["platform"] = form["platform"][0]
- if form.has_key( "domain" ): flags["domain"] = form["domain"][0]
- if form.has_key( "sortedby" ): flags["sortedby"] = form["sortedby"][0]
- if form.has_key( "page" ): flags["page"] = form["page"][0]
- if form.has_key( "perpage" ): flags["perpage"] = form["perpage"][0]
- if form.has_key( "offset" ): flags["offset"] = form["offset"][0]
- if form.has_key( "range" ): flags["range"] = form["range"][0]
- if form.has_key( "recitation" ): flags["recitation"] = form["recitation"][0]
- if form.has_key( "translation" ): flags["translation"] = form["translation"][0]
- if form.has_key( "highlight" ): flags["highlight"] = form["highlight"][0]
- if form.has_key( "script" ): flags["script"] = form["script"][0]
- if form.has_key( "vocalized" ): flags["vocalized"] = TRUE_FALSE( form["vocalized"][0] )
- if form.has_key( "prev_aya" ): flags["prev_aya"] = TRUE_FALSE( form["prev_aya"][0] )
- if form.has_key( "next_aya" ): flags["next_aya"] = TRUE_FALSE( form["next_aya"][0] )
- if form.has_key( "sura_info" ): flags["sura_info"] = TRUE_FALSE( form["sura_info"][0] )
- if form.has_key( "word_info" ): flags["word_info"] = TRUE_FALSE( form["word_info"][0] )
- if form.has_key( "aya_position_info" ): flags["aya_position_info"] = TRUE_FALSE( form["aya_position_info"][0] )
- if form.has_key( "aya_theme_info" ): flags["aya_theme_info"] = TRUE_FALSE( form["aya_theme_info"][0] )
- if form.has_key( "aya_stat_info" ): flags["aya_stat_info"] = TRUE_FALSE( form["aya_stat_info"][0] )
- if form.has_key( "aya_sajda_info" ): flags["aya_sajda_info"] = TRUE_FALSE( form["aya_sajda_info"][0] )
- if form.has_key( "annotation_aya" ): flags["annotation_aya"] = TRUE_FALSE( form["annotation_aya"][0] )
- if form.has_key( "annotation_word" ): flags["annotation_word"] = TRUE_FALSE( form["annotation_word"][0] )
- if form.has_key( "fuzzy" ): flags["fuzzy"] = TRUE_FALSE( form["fuzzy"][0] )
-
+
+# Get form arguments and build the flags dict
+flags = {}
+for key, value in form.items():
+ flags[key] = value[0]
+
+
+if len(flags):
print JSON_HEADER
print JSONoutput.do( flags )
-
else:
print HTTP_HEADER
print JSONoutput._information["json_output_system_note"]
=== modified file 'src/alfanous/Outputs.py'
--- src/alfanous/Outputs.py 2012-11-22 21:45:50 +0000
+++ src/alfanous/Outputs.py 2012-11-22 23:12:08 +0000
@@ -42,6 +42,8 @@
STANDARD2UTHMANI = lambda x: std2uth_words[x] if std2uth_words.has_key( x ) else x;
+## a function to decide what is True and what is false
+TRUE_FALSE = lambda x: False if x in [False,"False", "no", "0", 0, None] else True;
@@ -332,22 +334,22 @@
sortedby = flags["sortedby"] if flags.has_key( "sortedby" ) else self._defaults["flags"]["sortedby"]
range = int( flags["perpage"] ) if flags.has_key( "perpage" ) else flags["range"] if flags.has_key( "range" ) else self._defaults["flags"]["range"]
offset = (( int( flags["page"] ) - 1 ) * range) + 1 if flags.has_key( "page" ) else int(flags["offset"]) if flags.has_key( "offset" ) else self._defaults["flags"]["offset"] ## offset = (page-1) * perpage -- mode paging
+ recitation = flags["recitation"] if flags.has_key( "recitation" ) else self._defaults["flags"]["recitation"]
+ translation = flags["translation"] if flags.has_key( "translation" ) else self._defaults["flags"]["translation"]
highlight = flags["highlight"] if flags.has_key( "highlight" ) else self._defaults["flags"]["highlight"]
script = flags["script"] if flags.has_key( "script" ) else self._defaults["flags"]["script"]
- vocalized = flags["vocalized"] if flags.has_key( "vocalized" ) else self._defaults["flags"]["vocalized"]
- recitation = flags["recitation"] if flags.has_key( "recitation" ) else self._defaults["flags"]["recitation"]
- translation = flags["translation"] if flags.has_key( "translation" ) else self._defaults["flags"]["translation"]
- prev_aya = flags["prev_aya"] if flags.has_key( "prev_aya" ) else self._defaults["flags"]["prev_aya"]
- next_aya = flags["next_aya"] if flags.has_key( "next_aya" ) else self._defaults["flags"]["next_aya"]
- sura_info = flags["sura_info"] if flags.has_key( "sura_info" ) else self._defaults["flags"]["sura_info"]
- word_info = flags["word_info"] if flags.has_key( "word_info" ) else self._defaults["flags"]["word_info"]
- aya_position_info = flags["aya_position_info"] if flags.has_key( "aya_position_info" ) else self._defaults["flags"]["aya_position_info"]
- aya_theme_info = flags["aya_theme_info"] if flags.has_key( "aya_theme_info" ) else self._defaults["flags"]["aya_theme_info"]
- aya_stat_info = flags["aya_stat_info"] if flags.has_key( "aya_stat_info" ) else self._defaults["flags"]["aya_stat_info"]
- aya_sajda_info = flags["aya_sajda_info"] if flags.has_key( "aya_sajda_info" ) else self._defaults["flags"]["aya_sajda_info"]
- annotation_aya = flags["annotation_aya"] if flags.has_key( "annotation_aya" ) else self._defaults["flags"]["annotation_aya"]
- annotation_word = flags["annotation_word"] if flags.has_key( "annotation_word" ) else self._defaults["flags"]["annotation_word"]
- fuzzy = flags["fuzzy"] if flags.has_key( "fuzzy" ) else self._defaults["flags"]["fuzzy"]
+ vocalized = TRUE_FALSE(flags["vocalized"]) if flags.has_key( "vocalized" ) else self._defaults["flags"]["vocalized"]
+ prev_aya = TRUE_FALSE(flags["prev_aya"]) if flags.has_key( "prev_aya" ) else self._defaults["flags"]["prev_aya"]
+ next_aya = TRUE_FALSE(flags["next_aya"]) if flags.has_key( "next_aya" ) else self._defaults["flags"]["next_aya"]
+ sura_info = TRUE_FALSE(flags["sura_info"]) if flags.has_key( "sura_info" ) else self._defaults["flags"]["sura_info"]
+ word_info = TRUE_FALSE(flags["word_info"]) if flags.has_key( "word_info" ) else self._defaults["flags"]["word_info"]
+ aya_position_info = TRUE_FALSE(flags["aya_position_info"]) if flags.has_key( "aya_position_info" ) else self._defaults["flags"]["aya_position_info"]
+ aya_theme_info = TRUE_FALSE(flags["aya_theme_info"]) if flags.has_key( "aya_theme_info" ) else self._defaults["flags"]["aya_theme_info"]
+ aya_stat_info = TRUE_FALSE(flags["aya_stat_info"]) if flags.has_key( "aya_stat_info" ) else self._defaults["flags"]["aya_stat_info"]
+ aya_sajda_info = TRUE_FALSE(flags["aya_sajda_info"]) if flags.has_key( "aya_sajda_info" ) else self._defaults["flags"]["aya_sajda_info"]
+ annotation_aya = TRUE_FALSE(flags["annotation_aya"]) if flags.has_key( "annotation_aya" ) else self._defaults["flags"]["annotation_aya"]
+ annotation_word = TRUE_FALSE(flags["annotation_word"]) if flags.has_key( "annotation_word" ) else self._defaults["flags"]["annotation_word"]
+ fuzzy = TRUE_FALSE(flags["fuzzy"]) if flags.has_key( "fuzzy" ) else self._defaults["flags"]["fuzzy"]
#preprocess query
query= query.replace( "\\", "")
=== modified file 'src/alfanous/console.py'
--- src/alfanous/console.py 2012-06-24 01:04:31 +0000
+++ src/alfanous/console.py 2012-11-22 23:12:08 +0000
@@ -37,10 +37,6 @@
DOMAINS = RAWoutput.do( {"action":"show", "query":"domains" } )["show"]["domains"]
HELPMESSAGES = RAWoutput.do( {"action":"show", "query":"help_messages" } )["show"]["help_messages"]
-## a function to decide what is True and what is False
-TRUE_FALSE = lambda x:False if x.lower() in ["no", "none", "null", "0", "-1", "", "false"] else True;
-
-
arg_parser = ArgumentParser(
description = INFORMATION["description"],
prog = 'alfanous-console',
@@ -77,40 +73,17 @@
arg_parser.add_argument( "--domain", dest = "domain", type = str, help = HELPMESSAGES["domain"] )
-
-
#execute command
def main():
args = arg_parser.parse_args()
+
+ # Get the arguments as a dictionary and remove None-valued keys.
+ flags = {}
+ for k,v in args.__dict__.items():
+ if v!=None:
+ flags[k]=v
+
if args.action and args.query:
- flags = {}
- if args.action: flags["action"] = args.action
- if args.query: flags["query"] = args.query
- if args.ident: flags["ident"] = args.ident
- if args.platform: flags["platform"] = args.platform
- if args.domain: flags["domain"] = args.domain
- if args.sortedby: flags["sortedby"] = args.sortedby
- if args.page: flags["page"] = args.page
- if args.perpage: flags["perpage"] = args.perpage
- if args.offset: flags["offset"] = args.offset
- if args.range: flags["range"] = args.range
- if args.recitation: flags["recitation"] = args.recitation
- if args.translation: flags["translation"] = args.translation
- if args.highlight: flags["highlight"] = args.highlight
- if args.script: flags["script"] = args.script
- if args.vocalized: flags["vocalized"] = TRUE_FALSE( args.vocalized )
- if args.prev_aya: flags["prev_aya"] = TRUE_FALSE( args.prev_aya )
- if args.next_aya: flags["next_aya"] = TRUE_FALSE( args.next_aya )
- if args.sura_info: flags["sura_info"] = TRUE_FALSE( args.sura_info )
- if args.word_info: flags["word_info"] = TRUE_FALSE( args.word_info )
- if args.aya_position_info: flags["aya_position_info"] = TRUE_FALSE( args.aya_position_info )
- if args.aya_theme_info: flags["aya_theme_info"] = TRUE_FALSE( args.aya_theme_info )
- if args.aya_stat_info: flags["aya_stat_info"] = TRUE_FALSE( args.aya_stat_info )
- if args.aya_sajda_info: flags["aya_sajda_info"] = TRUE_FALSE( args.aya_sajda_info )
- if args.annotation_aya: flags["annotation_aya"] = TRUE_FALSE( args.annotation_aya )
- if args.annotation_word: flags["annotation_word"] = TRUE_FALSE( args.annotation_word )
- if args.fuzzy: flags["fuzzy"] = TRUE_FALSE( args.fuzzy )
-
print json.dumps( RAWoutput.do( flags ) )
else:
print RAWoutput._information["console_note"]