diff --git a/ImageMetaTag/db.py b/ImageMetaTag/db.py index a3b2d85..9a56275 100644 --- a/ImageMetaTag/db.py +++ b/ImageMetaTag/db.py @@ -65,11 +65,11 @@ def read_img_info_from_dbfile(db_file, required_tags=None, tag_strings=None, ''' reads in the database written by write_img_to_dbfile - options: + Options: * required_tags - a list of image tags to return, and to fail if not all are present * tag_strings - an input list that will be populated with the unique values of the image tags. - returns: + Returns: * a list of filenames (payloads for the :class:`ImageMetaTag.ImageDict` class ) * a dictionary, by filename, containing a dictionary of the image metadata as *tagname: value* @@ -122,8 +122,8 @@ def merge_db_files(main_db_file, add_db_file, delete_add_db=False, delete_added_ The databases should have the same tags within them for the merge to work. Options: - * delete_add_db - if True, the added database file will be deleted afterwards - * delete_added_entries - if delete_add_db is False, this will keep the add_db_file + * delete_add_db - if True, the added database file will be deleted afterwards + * delete_added_entries - if delete_add_db is False, this will keep the add_db_file but remove the entries from it which were added to the main_db_file. This is useful if parallel processes are writing to the databases. It does nothing if delete_add_db is True. @@ -171,11 +171,11 @@ def open_or_create_db_file(db_file, img_info, restart_db=False, timeout=DEFAULT_ Opens a database file and sets up initial tables, then returns the connection and cursor. Arguments: - * db_file - the database file to open. - * img_info - a dictionary of image metadata to be saved to the database. + * db_file - the database file to open. + * img_info - a dictionary of image metadata to be saved to the database. Options: - * restart_db - when Truem this deletes the current db file and starts again, \ + * restart_db - when Truem this deletes the current db file and starts again, \ if it already exists. Returns an open database connection (dbcn) and cursor (dbcr) @@ -303,11 +303,12 @@ def process_select_star_from(db_contents, dbcr, required_tags=None, tag_strings= Converts the output from a select * from .... command into a standard output format Requires a database cursor (dbcr) to identify the field names. - Options + Options: * required_tags - a list of image tags to return, and to fail if not all are present * tag_strings - an input list that will be populated with the unique values of the image tags - returns as :func:`ImageMetaTag.db.read_img_info_from_dbfile`, but filtered accord to the select. + Returns: + as :func:`ImageMetaTag.db.read_img_info_from_dbfile`, but filtered accord to the select. * a list of filenames (payloads for the :class:`ImageMetaTag.ImageDict`) * a dictionary, by filename, containing a dictionary of the image metadata as *tagname: value* ''' @@ -578,26 +579,27 @@ def scan_dir_for_db(basedir, db_file, img_tag_req=None, subdir_excl_list=None, k the database by accident). Arguments: - * basedir - the directory to start scanning. - * db_file - the database file to save the image metadata to. A pre-existing database file\ + * basedir - the directory to start scanning. + * db_file - the database file to save the image metadata to. A pre-existing database file\ will fail unless restart_db is True - * img_tag_req - a list of tag names that are to be applied/created. Tags not in this list\ - will not be stored. Images without all of these tags are ignored. - * subdir_excl_list - a list of subdirectories that don't need to be scanned. ['thumbnail']\ - for instance, will prevent the image thumbnails being included. - * no_file_ext - logical to exclude the file extension in the filenames saved to the database. - * known_file_tags - if supplied, this is a dict (keyed by filename entry),\ - contains a dictionary of {filename: {tag name: value}} already known\ - (so you don't need to read them from the files themselves). This is very\ - if you have a old backup of a database file that needs updating. - * restart_db - if True, the db_file will be restarted as empty. - * verbose - verbose output. + Options: + * img_tag_req - a list of tag names that are to be applied/created. Tags not in this list\ + will not be stored. Images without all of these tags are ignored. + * subdir_excl_list - a list of subdirectories that don't need to be scanned. ['thumbnail']\ + for instance, will prevent the image thumbnails being included. + * no_file_ext - logical to exclude the file extension in the filenames saved to the database. + * known_file_tags - if supplied, this is a dict (keyed by filename entry),\ + contains a dictionary of {filename: {tag name: value}} already known\ + (so you don't need to read them from the files themselves). This is very\ + if you have a old backup of a database file that needs updating. + * restart_db - if True, the db_file will be restarted from an empty database. + * verbose - verbose output. ''' if os.path.isfile(db_file) and not restart_db: raise ValueError('''scan_dir_for_db will not work on a pre-existing file unless restart_db -is True, in which case the database file will be restarted. Use with care.''') +is True, in which case the database file will be restarted as empty. Use with care.''') if known_file_tags is not None: known_files = known_file_tags.keys() diff --git a/ImageMetaTag/webpage.py b/ImageMetaTag/webpage.py index aadcba5..58bc03f 100644 --- a/ImageMetaTag/webpage.py +++ b/ImageMetaTag/webpage.py @@ -64,7 +64,7 @@ def write_full_page(img_dict, filepath, title, page_filename=None, tab_s_name=No * postable : html text added after the ImageMetaTag section. * initial_selectors - A list of initial values for the selectors, to be passed into \ :func:`ImageMetaTag.webpage.write_js_setup`. - * show_selector_names - switches on diplsaying the selector full names defined by the \ + * show_selector_names - switches on displaying the selector full names defined by the \ :class:`ImageMetaTag.ImageDict`.full_name_mapping * url_type - determines the type of URL at the bottom of the ImageMetaTag section. Can be \ 'int' or 'str'. @@ -243,8 +243,14 @@ def write_full_page(img_dict, filepath, title, page_filename=None, tab_s_name=No level_names = img_dict.level_names else: level_names = False + # if we're labelling selectors, and we have an animator button, label that too: + if img_dict.selector_animated > 1 and show_selector_names: + anim_level = level_names[img_dict.selector_animated] + else: + anim_level = None write_js_placeholders(file_obj=out_file, dict_depth=img_dict.dict_depth(), - style=style, level_names=level_names) + style=style, level_names=level_names, + animated_level=anim_level) # the body is done, so the postamble comes in: if not postamble is None: out_file.write(postamble + '\n') @@ -454,7 +460,8 @@ def write_json(img_dict, json_file): json_file.write(out_str) def write_js_placeholders(file_obj=None, dict_depth=None, selector_prefix=None, - style='horiz dropdowns', level_names=False): + style='horiz dropdowns', level_names=False, + animated_level=None): ''' Writes the placeholders into the page body, for the javascript to manipulate @@ -466,6 +473,7 @@ def write_js_placeholders(file_obj=None, dict_depth=None, selector_prefix=None, they are always horizontal dropdown menus: 'horiz dropdowns'. * level_names - if supplied, this need to be a list of full names, for the selectors, of \ length dict_depth. + * animated_level - if supplied, as a string, this will be used to label the animator buttons. ''' if selector_prefix is None: @@ -488,6 +496,12 @@ def write_js_placeholders(file_obj=None, dict_depth=None, selector_prefix=None, ''') + # a text label for the animator buttons: + if isinstance(animated_level, str): + anim_label = '{}: '.format(animated_level) + else: + anim_label = '' + # for each level of depth in the plot dictionary, add a span to hold the selector: if apply_level_names: # if we want labelled selectors, then write out @@ -510,12 +524,12 @@ def write_js_placeholders(file_obj=None, dict_depth=None, selector_prefix=None, # add the placeholder for animators buttons: file_obj.write(''' -   + {}    -'''.format(dict_depth)) +'''.format(dict_depth, anim_label)) else: # simply a set of spans, in a line: for lev in range(dict_depth): @@ -524,10 +538,10 @@ def write_js_placeholders(file_obj=None, dict_depth=None, selector_prefix=None, file_obj.write('\n
') # add the placeholder for animators buttons: file_obj.write(''' -   + {}   
- ''') + '''.format(anim_label)) # now add somewhere for the image to go: file_obj.write('''
Please wait while the page is loading
diff --git a/docs/build/doctrees/ImageDict.doctree b/docs/build/doctrees/ImageDict.doctree index 5ac25a9..40a27e1 100644 Binary files a/docs/build/doctrees/ImageDict.doctree and b/docs/build/doctrees/ImageDict.doctree differ diff --git a/docs/build/doctrees/db.doctree b/docs/build/doctrees/db.doctree index ac8cf6c..317c3dc 100644 Binary files a/docs/build/doctrees/db.doctree and b/docs/build/doctrees/db.doctree differ diff --git a/docs/build/doctrees/environment.pickle b/docs/build/doctrees/environment.pickle index d3d9a88..b988446 100644 Binary files a/docs/build/doctrees/environment.pickle and b/docs/build/doctrees/environment.pickle differ diff --git a/docs/build/doctrees/webpage.doctree b/docs/build/doctrees/webpage.doctree index 706c223..73b5d09 100644 Binary files a/docs/build/doctrees/webpage.doctree and b/docs/build/doctrees/webpage.doctree differ diff --git a/docs/build/html/ImageDict.html b/docs/build/html/ImageDict.html index 2d94cd5..0bf2efe 100644 --- a/docs/build/html/ImageDict.html +++ b/docs/build/html/ImageDict.html @@ -95,7 +95,7 @@

Quick search

ImageMetaTag.ImageDict

This submodule contains the ImageMetaTag.ImageDict class, and functions for preparing them.

-

The purpose of an ImageMetaTag.ImageDict is to sort the image metadata, supplied to +

The purpose of an ImageMetaTag.ImageDict is to sort the image metadata, supplied to ImageMetaTag.savefig() and usually stored in a database file, into a useful form that can quickly and easily be presented as a webpage by ImageMetaTag.webpage.write_full_page().

An easy example of creating a webpage, using an ImageDict is shown in diff --git a/docs/build/html/_modules/ImageMetaTag/db.html b/docs/build/html/_modules/ImageMetaTag/db.html index 751b343..fb96d24 100644 --- a/docs/build/html/_modules/ImageMetaTag/db.html +++ b/docs/build/html/_modules/ImageMetaTag/db.html @@ -135,11 +135,11 @@

Source code for ImageMetaTag.db

     '''
     reads in the database written by write_img_to_dbfile
 
-    options:
+    Options:
      * required_tags - a list of image tags to return, and to fail if not all are present
      * tag_strings - an input list that will be populated with the unique values of the image tags.
 
-    returns:
+    Returns:
      * a list of filenames (payloads for the :class:`ImageMetaTag.ImageDict` class )
      * a dictionary, by filename, containing a dictionary of the image metadata as *tagname: value*
 
@@ -192,8 +192,8 @@ 

Source code for ImageMetaTag.db

     The databases should have the same tags within them for the merge to work.
 
     Options:
-    * delete_add_db - if True, the added database file will be deleted afterwards
-    * delete_added_entries - if delete_add_db is False, this will keep the add_db_file
+     * delete_add_db - if True, the added database file will be deleted afterwards
+     * delete_added_entries - if delete_add_db is False, this will keep the add_db_file
                              but remove the entries from it which were added to the main_db_file.
                              This is useful if parallel processes are writing to the databases.
                              It does nothing if delete_add_db is True.
@@ -239,15 +239,15 @@ 

Source code for ImageMetaTag.db

 
[docs]def open_or_create_db_file(db_file, img_info, restart_db=False, timeout=DEFAULT_DB_TIMEOUT): ''' Opens a database file and sets up initial tables, then returns the connection and cursor. - + Arguments: - * db_file - the database file to open. - * img_info - a dictionary of image metadata to be saved to the database. + * db_file - the database file to open. + * img_info - a dictionary of image metadata to be saved to the database. Options: - * restart_db - when Truem this deletes the current db file and starts again, \ + * restart_db - when Truem this deletes the current db file and starts again, \ if it already exists. - + Returns an open database connection (dbcn) and cursor (dbcr) ''' @@ -271,7 +271,7 @@

Source code for ImageMetaTag.db

 
[docs]def open_db_file(db_file, timeout=DEFAULT_DB_TIMEOUT): ''' Just opens an existing db_file, using timeouts but no retries. - + Returns an open database connection (dbcn) and cursor (dbcr) ''' @@ -373,11 +373,12 @@

Source code for ImageMetaTag.db

     Converts the output from a select * from ....  command into a standard output format
     Requires a database cursor (dbcr) to identify the field names.
 
-    Options
+    Options:
      * required_tags - a list of image tags to return, and to fail if not all are present
      * tag_strings - an input list that will be populated with the unique values of the image tags
 
-    returns as :func:`ImageMetaTag.db.read_img_info_from_dbfile`, but filtered accord to the select.
+    Returns:
+    as :func:`ImageMetaTag.db.read_img_info_from_dbfile`, but filtered accord to the select.
      * a list of filenames (payloads for the :class:`ImageMetaTag.ImageDict`)
      * a dictionary, by filename, containing a dictionary of the image metadata as *tagname: value*
     '''
@@ -578,7 +579,7 @@ 

Source code for ImageMetaTag.db

 
[docs]def select_dbfile_by_tags(db_file, select_tags): ''' Selects from a database file the entries that match a dict of field names/acceptable values. - + Returns the output, processed by :func:`ImageMetaTag.db.process_select_star_from` ''' if db_file is None: @@ -643,31 +644,32 @@

Source code for ImageMetaTag.db

     This should only be used to build a database from a directory of tagged images that
     did not previously use a database, or where the database file has been deleted but the
     images have not.
-    
+
     For optimal performance, build the database as the plots are created (or do not delete
     the database by accident).
-    
+
     Arguments:
-    * basedir - the directory to start scanning.
-    * db_file - the database file to save the image metadata to. A pre-existing database file\
+     * basedir - the directory to start scanning.
+     * db_file - the database file to save the image metadata to. A pre-existing database file\
                 will fail unless restart_db is True
 
-    * img_tag_req - a list of tag names that are to be applied/created. Tags not in this list\
-                    will not be stored. Images without all of these tags are ignored.
-    * subdir_excl_list - a list of subdirectories that don't need to be scanned. ['thumbnail']\
-                        for instance, will prevent the image thumbnails being included.
-    * no_file_ext - logical to exclude the file extension in the filenames saved to the database.
-    * known_file_tags - if supplied, this is a dict (keyed by filename entry),\
-                        contains a dictionary of {filename: {tag name: value}} already known\
-                        (so you don't need to read them from the files themselves). This is very\
-                        if you have a old backup of a database file that needs updating.
-    * restart_db - if True, the db_file will be restarted as empty.
-    * verbose - verbose output.
+    Options:
+     * img_tag_req - a list of tag names that are to be applied/created. Tags not in this list\
+                     will not be stored. Images without all of these tags are ignored.
+     * subdir_excl_list - a list of subdirectories that don't need to be scanned. ['thumbnail']\
+                         for instance, will prevent the image thumbnails being included.
+     * no_file_ext - logical to exclude the file extension in the filenames saved to the database.
+     * known_file_tags - if supplied, this is a dict (keyed by filename entry),\
+                         contains a dictionary of {filename: {tag name: value}} already known\
+                         (so you don't need to read them from the files themselves). This is very\
+                         if you have a old backup of a database file that needs updating.
+     * restart_db - if True, the db_file will be restarted from an empty database.
+     * verbose - verbose output.
     '''
 
     if os.path.isfile(db_file) and not restart_db:
-        raise ValueError('''scan_dir_for_db will not work on a pre-existing file unless restart_db is True,
-in which case the database file will be restarted. Use with care.''')
+        raise ValueError('''scan_dir_for_db will not work on a pre-existing file unless restart_db
+is True, in which case the database file will be restarted as empty. Use with care.''')
 
     if known_file_tags is not None:
         known_files = known_file_tags.keys()
diff --git a/docs/build/html/_modules/ImageMetaTag/webpage.html b/docs/build/html/_modules/ImageMetaTag/webpage.html
index 1b34f47..0400ca0 100644
--- a/docs/build/html/_modules/ImageMetaTag/webpage.html
+++ b/docs/build/html/_modules/ImageMetaTag/webpage.html
@@ -134,7 +134,7 @@ 

Source code for ImageMetaTag.webpage

     * postable : html text added after the ImageMetaTag section.
     * initial_selectors - A list of initial values for the selectors, to be passed into \
                           :func:`ImageMetaTag.webpage.write_js_setup`.
-    * show_selector_names - switches on diplsaying the selector full names defined by the \
+    * show_selector_names - switches on displaying the selector full names defined by the \
                             :class:`ImageMetaTag.ImageDict`.full_name_mapping
     * url_type - determines the type of URL at the bottom of the ImageMetaTag section. Can be \
                  'int' or 'str'.
@@ -313,8 +313,14 @@ 

Source code for ImageMetaTag.webpage

                 level_names = img_dict.level_names
             else:
                 level_names = False
+            # if we're labelling selectors, and we have an animator button, label that too:
+            if img_dict.selector_animated > 1 and show_selector_names:
+                anim_level = level_names[img_dict.selector_animated]
+            else:
+                anim_level = None
             write_js_placeholders(file_obj=out_file, dict_depth=img_dict.dict_depth(),
-                                  style=style, level_names=level_names)
+                                  style=style, level_names=level_names,
+                                  animated_level=anim_level)
         # the body is done, so the postamble comes in:
         if not postamble is None:
             out_file.write(postamble + '\n')
@@ -524,7 +530,8 @@ 

Source code for ImageMetaTag.webpage

         json_file.write(out_str)
 
[docs]def write_js_placeholders(file_obj=None, dict_depth=None, selector_prefix=None, - style='horiz dropdowns', level_names=False): + style='horiz dropdowns', level_names=False, + animated_level=None): ''' Writes the placeholders into the page body, for the javascript to manipulate @@ -536,6 +543,7 @@

Source code for ImageMetaTag.webpage

               they are always horizontal dropdown menus: 'horiz dropdowns'.
     * level_names - if supplied, this need to be a list of full names, for the selectors, of \
                     length dict_depth.
+    * animated_level - if supplied, as a string, this will be used to label the animator buttons.
     '''
 
     if selector_prefix is None:
@@ -558,6 +566,12 @@ 

Source code for ImageMetaTag.webpage

  <tr>
   <td>
    <font size=3>''')
+        # a text label for the animator buttons:
+        if isinstance(animated_level, str):
+            anim_label = '{}: '.format(animated_level)
+        else:
+            anim_label = ''
+
         # for each level of depth in the plot dictionary, add a span to hold the selector:
         if apply_level_names:
             # if we want labelled selectors, then write out
@@ -580,12 +594,12 @@ 

Source code for ImageMetaTag.webpage

             # add the placeholder for animators buttons:
             file_obj.write('''     <tr>
       <td colspan={}>
-        <span id="animator1">&nbsp;</span>
+        {}<span id="animator1">&nbsp;</span>
         <span id="animator2">&nbsp;</span>
       </td>
     </tr>
    </table>
-'''.format(dict_depth))
+'''.format(dict_depth, anim_label))
         else:
             # simply a set of spans, in a line:
             for lev in range(dict_depth):
@@ -594,10 +608,10 @@ 

Source code for ImageMetaTag.webpage

             file_obj.write('\n   <br>')
             # add the placeholder for animators buttons:
             file_obj.write('''
-   <span id="animator1">&nbsp;</span>
+   {}<span id="animator1">&nbsp;</span>
    <span id="animator2">&nbsp;</span>
        <br>
-    ''')
+    '''.format(anim_label))
 
         # now add somewhere for the image to go:
         file_obj.write('''   <div id="the_image">Please wait while the page is loading</div>
diff --git a/docs/build/html/db.html b/docs/build/html/db.html
index 36922a3..7425265 100644
--- a/docs/build/html/db.html
+++ b/docs/build/html/db.html
@@ -140,13 +140,13 @@ 

Commonly used functionsImageMetaTag.db.read_img_info_from_dbfile(db_file, required_tags=None, tag_strings=None, db_timeout=6, db_attempts=20)[source]

reads in the database written by write_img_to_dbfile

-
options:
+
Options:
  • required_tags - a list of image tags to return, and to fail if not all are present
  • tag_strings - an input list that will be populated with the unique values of the image tags.
-
returns:
+
Returns:
  • a list of filenames (payloads for the ImageMetaTag.ImageDict class )
  • a dictionary, by filename, containing a dictionary of the image metadata as tagname: value
  • @@ -189,11 +189,19 @@

    Functions for opening/creating db files ImageMetaTag.db.open_or_create_db_file(db_file, img_info, restart_db=False, timeout=6)[source]

    Opens a database file and sets up initial tables, then returns the connection and cursor.

    -

    Arguments: -* db_file - the database file to open. -* img_info - a dictionary of image metadata to be saved to the database.

    -

    Options: -* restart_db - when Truem this deletes the current db file and starts again, if it already exists.

    +
    +
    Arguments:
    +
      +
    • db_file - the database file to open.
    • +
    • img_info - a dictionary of image metadata to be saved to the database.
    • +
    +
    +
    Options:
    +
      +
    • restart_db - when Truem this deletes the current db file and starts again, if it already exists.
    • +
    +
    +

    Returns an open database connection (dbcn) and cursor (dbcr)

@@ -272,19 +280,21 @@

Internal functions -
Options
+
Options:
  • required_tags - a list of image tags to return, and to fail if not all are present
  • tag_strings - an input list that will be populated with the unique values of the image tags
-
returns as ImageMetaTag.db.read_img_info_from_dbfile(), but filtered accord to the select.
-
- +

@@ -300,17 +310,24 @@

Utility functions -
  • img_tag_req - a list of tag names that are to be applied/created. Tags not in this list will not be stored. Images without all of these tags are ignored.
  • -
  • subdir_excl_list - a list of subdirectories that don’t need to be scanned. [‘thumbnail’] for instance, will prevent the image thumbnails being included.
  • +
    +
    Arguments:
    +
      +
    • basedir - the directory to start scanning.
    • +
    • db_file - the database file to save the image metadata to. A pre-existing database file will fail unless restart_db is True
    • +
    +
    +
    Options:
    +
      +
    • img_tag_req - a list of tag names that are to be applied/created. Tags not in this list will not be stored. Images without all of these tags are ignored.
    • +
    • subdir_excl_list - a list of subdirectories that don’t need to be scanned. [‘thumbnail’] for instance, will prevent the image thumbnails being included.
    • no_file_ext - logical to exclude the file extension in the filenames saved to the database.
    • -
    • known_file_tags - if supplied, this is a dict (keyed by filename entry), contains a dictionary of {filename: {tag name: value}} already known (so you don’t need to read them from the files themselves). This is very if you have a old backup of a database file that needs updating.
    • -
    • restart_db - if True, the db_file will be restarted as empty.
    • +
    • known_file_tags - if supplied, this is a dict (keyed by filename entry), contains a dictionary of {filename: {tag name: value}} already known (so you don’t need to read them from the files themselves). This is very if you have a old backup of a database file that needs updating.
    • +
    • restart_db - if True, the db_file will be restarted from an empty database.
    • verbose - verbose output.
    +
    +

    diff --git a/docs/build/html/objects.inv b/docs/build/html/objects.inv index a317bbb..778ced0 100644 Binary files a/docs/build/html/objects.inv and b/docs/build/html/objects.inv differ diff --git a/docs/build/html/searchindex.js b/docs/build/html/searchindex.js index dd78ce2..b4ca6b3 100644 --- a/docs/build/html/searchindex.js +++ b/docs/build/html/searchindex.js @@ -1 +1 @@ -Search.setIndex({envversion:42,terms:{represent:3,all:[5,0,1,4],code:[6,0,7],nwp:6,consider:4,skip:6,focus:1,initial_selector:3,prefix:3,sleep:4,per:1,follow:[3,5,4,2],return_tim:4,row:4,depend:[3,5],allow_retri:4,imagemetatagtest:6,dbcr:4,dbcn:4,those:[3,7],under:0,leav:1,worth:4,sourc:[3,0,4],string:[1,4],fals:[3,5,1,4],than:3,diplsai:3,selector_anim:1,veri:[1,4],tagnam:[1,4],brows:[3,6,1],dict_union:1,page_filenam:[3,7],level:[5,7,1],write_full_pag:[3,7,1],overid:4,list:[3,5,1,4,7],iter:1,"try":4,item:1,public_html:6,parallelis:[6,1],write_img_to_dbfil:[5,4],prevent:4,define_imt_db:7,smaller:5,this_set_of_ind:1,plot_dict:1,crop:[5,0],sign:7,second:[5,1,4],cost:4,pass:[3,5,1,4],write_js_setup:3,append:[7,1],index:[0,1],what:[7,1],disk:4,dict1:1,sub:[3,1],dict2:1,section:[3,1],abl:3,current:[3,5,1,6,4],delet:4,version:1,rgba:5,"new":[5,1],method:[5,1],metadata:[1,4],pagenam:3,full:[3,1],themselv:4,iteritem:7,gener:1,info_key_to_db_nam:4,here:[6,1],bodi:3,met:6,tagg:5,path:[3,1,4],standard:[5,4],mergedict:1,valu:[3,5,1,4,7],url_typ:3,convert:[1,4],convers:5,larger:[3,6,1],datetim:7,def:7,action:6,chang:5,n_slpit:1,appli:[5,4],modul:[0,1,2,3,4,5,6],readmeta_from_imag:1,filenam:[3,5,4],visibl:3,post:[5,0],select:[3,4],plot:[6,7,1,4],from:[5,7,1,4],describ:[6,1],would:[3,5,1],memori:[7,4],give:1,page_titl:7,few:[0,4],call:1,type:[3,7,1],webpage_preambl:7,more:[3,0],sort:[7,1],flat:1,desir:5,peopl:3,claus:0,warn:4,accept:[5,4],particular:1,known:4,date_format_www:7,wegbpag:7,hold:1,logo_fil:5,must:1,accid:4,none:[3,5,1,4,7],scalabl:6,work:1,uniqu:[1,4],tag_nam:[5,4],can:[0,1,3,4,5,6,7],purpos:1,simple_dict:1,control:5,vals_at_depth:1,process:[5,0,1,6,4],lock:4,indic:1,tag:[1,4],want:[7,1],logo_pad:5,occur:1,ratio:5,alwai:[3,5],surfac:1,multipl:[6,1],turn:7,rather:3,anoth:1,ordinari:1,restart:4,write:[5,6,4],how:[6,7],subdirectori:[1,4],instead:6,simpl:[7,1],updat:4,key_at_depth:1,max:1,after:[3,5,1,4],write_js_to_head:3,gcc:2,befor:[3,5],date:1,end:1,associ:[1,4],parallel:7,demonstr:6,"short":3,attempt:[5,1,4],practic:7,third:1,light:5,filepath:3,element:1,inform:3,"switch":[3,5],maintain:[5,4],allow:4,suggest:4,page_para:6,order:[7,1],move:[3,1],becaus:1,in_list:1,held:[3,4],open_or_create_db_fil:4,img_fil:[7,1],style:3,group:1,file_dir:3,db_file:[5,4],brook:7,do_vacuum:4,offic:6,imt:7,extenst:4,simplest_image_dict:[3,1],main:[5,6],pixel:5,them:[6,7,1,4],good:5,"return":[3,7,1,4],thei:[3,5,1,7],python:6,databs:7,initi:[3,4],"break":1,now:[3,7],tabnam:3,img_list:7,term:1,dict_split:1,name:[3,5,1,4],url_separ:3,config:3,json_fil:3,revers:1,did:4,legend:5,timeout:[5,4],each:[7,1],db_timeout:[5,4],mean:1,regener:1,replac:4,chunk:1,logo_po:5,copy_except_dict_and_kei:1,expect:[7,1],logo:[5,0],todo:5,special:1,out:3,variabl:3,do_trim:5,shown:[3,1],basedir:4,primari:5,content:[7,0,1],optim:4,adapt:5,rel:[3,1,4],print:7,factori:6,red:2,indidividu:[],freb:6,manipul:[3,0,5],differ:[3,5,1],ineffici:4,base:3,dictionari:[5,0,1,4,7],releas:0,img_info:[7,1,4],afterward:1,mimic:6,indent:[3,1],could:[3,5],img_filenam:4,british:0,keep:7,filter:[5,1,4],thing:[7,1],length:3,ish:4,organis:1,licens:0,first:[3,1],oper:4,required_tag:[7,4],upper:5,onc:[6,0,4],number:[0,1,5,4,7,6],placehold:3,restrict:1,mai:4,alreadi:[3,5,4],done:3,wrapper:[],miss:[3,1],payload:[1,4],size:[5,1],given:[3,0,1,5],raise_key_mismatch:1,script:[3,6],data:[3,6],top:[3,5,7],messag:3,show:[3,7],licenc:0,"final":1,store:[5,1,4],option:[5,0,1,4],dict_print:1,copi:[3,1,4],specifi:[5,1],selector:[3,1],devmod:1,part:[6,1],mostli:1,moder:5,dict_remov:1,imt_db:7,png:[5,0],skip_key_relist:1,target:[3,1],keyword:3,provid:4,copy_required_javascript:3,remov:1,tree:3,zero:5,structur:0,del_plots_from_dbfil:4,wepag:[3,6],str:3,posit:5,webdir:7,postambl:[3,7],pre:[5,4],explicitli:0,sai:3,img_dict:[3,7],attempt_replac:4,ani:4,packag:0,width:[5,1],have:[6,0,1,4,7],tabl:4,need:[3,5,1,4],"null":1,border:[5,7],optimis:5,show_selector_nam:3,built:[0,4],latter:3,reverse_sort:[7,1],also:[0,1,3,4,5,6],without:[6,4],take:4,which:[3,0,1,4],singl:[3,1],simplifi:5,unless:[0,4],thi:[1,3,4,5,6,7],normal:4,strcutur:3,object:[3,0,1,6],compress:[5,7,1],most:4,regular:4,pair:[5,1,4],keep_open:5,select_dbfile_by_tag:4,animation_direct:1,simplest_img_dict:[],url:3,no_file_ext:4,request:4,input_dict:1,doe:[5,6,1,4],strucutur:3,clean:[1,4],left:5,preambl:[3,7],pyplot:5,scan_dir_for_db:4,text:[3,5,7],random:6,corner:5,find:1,untermin:1,involv:0,absolut:4,onli:[3,5,1,6,4],slow:1,locat:[3,1,4],copyright:0,menu:3,activ:1,state:0,should:[6,1,4],heirachi:[7,1],dict:[6,1,4],templat:3,read_img_info_from_dbcursor:4,tab_s_nam:3,write_json:3,mergdict:1,overwritten:3,restart_db:4,palett:[5,0],get:1,stop:1,soon:3,aim:7,simple_dict_filt:1,report:[5,4],edg:5,requir:[3,1,4],prune:1,truem:4,dpt:1,page_multi:6,yield:1,select_dbcr_by_tag:4,check_for_required_kei:1,common:0,contain:[3,5,1,4],where:[6,1,4],dpi:5,view:[3,6],return_from_list:1,set:[3,6,1,4,7],dump:3,frame:3,see:[5,7],rgb:5,result:1,arg:5,fail:4,close:5,horizont:3,full_name_map:3,best:[5,7],selector_width:1,crown:0,hopefulli:3,databas:1,someth:4,dropdown:3,nopt:4,written:[3,6,4],restructur:4,subdir:1,simplest:7,"import":[6,7],thumbnail:[5,4],db_attempt:[5,4],altern:1,accord:[7,1,4],kei:[7,1,4],numer:[7,1],javascript:3,dicts_prun:1,extens:[3,5,4],malcolmbrook:7,dict_index_arrai:1,matplotlib:[5,0],outfil:5,db_content:4,horiz:3,popul:4,verbos:[3,5,1,4],both:[1,4],last:1,only_show_rel_url:3,equal:1,against:1,etc:[7,1],instanc:[3,5,4],context:5,logic:[1,4],com:7,strftime:7,load:[3,7,4],figur:[5,4],color:[7,1],malcolm:7,compelt:1,header:3,db_name_to_info_kei:4,image_file_postproc:5,suppli:[3,5,1,4,7],dict_heirachy_from_list:[7,1],animation_dicrect:1,duplic:4,quit:3,coupl:7,union:1,rm_dict:1,empti:[7,1,4],sinc:1,compon:[],json:3,much:[5,6,1,4,7],basic:[5,6],n_split:1,addit:0,valueerror:4,quickli:[5,1],write_intmed_tmpfil:3,imag:[1,4],resolut:5,search:0,argument:[5,4],req_kei:1,togeth:1,els:7,sort_kei:[7,1],open_db_fil:4,present:[1,4],"case":[1,4],dict_dept:3,properti:1,write_img_to_open_db:4,cursor:4,defin:[3,5,4,7],"while":[7,1],heirach:[0,1],occas:4,reverse_numer:[7,1],layer:1,do_thumb:5,stdout:3,keys_by_depth:1,"__main__":7,therefor:7,itself:4,minim:7,perform:4,extra_opt:1,make:[7,4],cross:1,same:[6,7],images_and_tag:7,member:6,read:[3,0,1,4,7],html:[3,6,1,7],pad:5,split:1,sqlite3:4,complet:[3,7],http:[6,7],denot:3,process_select_star_from:4,upon:3,antialias:5,postabl:3,rais:1,temporari:[3,7],build:[1,4],metadata7:3,tag_str:[7,4],lower:5,appropri:3,off:7,entri:4,colour:[5,0],well:5,anim:1,exampl:[3,1],command:[6,4],return_key_ind:1,outstr:1,file_obj:3,write_js_placehold:3,usual:[1,4],construct:[3,7],identifi:4,just:[3,7,1,4],savefig:[1,4],when:[3,1,4],exclud:4,rest:1,"__path__":7,aspect:5,previous:4,web:[5,0,1,7],subdir_excl_list:4,easi:[3,1],field:4,new_dict:1,except:[5,1],add:[5,0,4],other:[1,4],trim_bord:5,selector_prefix:3,input:[3,5,1,4],save:4,hat:2,match:[1,4],skip_warn:4,img_tag_req:4,around:[5,0],format:[5,0,4,7],webpag:[6,1],big:6,submodul:1,read_img_info_from_dbfil:[7,4],bit:5,characterist:1,recurs:1,list_keys_by_depth:1,scan:4,like:1,specif:[1,4],whitespac:5,integ:[5,1],shrink:5,out_arrai:1,"true":[3,5,1,4],either:[3,4],sql:0,output:[3,5,1,4],resiz:5,page:[6,1],www:6,right:5,old:4,often:1,add_strict:4,some:7,js_file:3,flatten:1,meterolog:1,guess:5,librari:[3,0],read_db_file_to_mem:4,logo_width:5,easili:[0,1],assum:1,avoid:4,level_nam:[3,1],whole:[],usaulli:5,retri:4,larg:[0,1,4],three:1,refer:[1,4],run:6,usag:4,great:3,"__name__":7,dct:1,dict_depth:[3,1],dropdownmenu:3,ascend:1,actual:[3,6],simul:1,act:6,upward:1,backup:4,produc:[0,1,3,4,5,6,7],routin:[7,1,4],uniform_depth:1,effici:7,primarili:4,within:[3,6,1],invers:4,bsd:0,in_str:4,been:[6,0,1,4,2],storag:5,flatten_list:1,img_tag:[5,7],manag:0,accordingli:1,wai:[5,7,1],aren:4,support:[5,0],overwrit:[3,5],avail:3,start:[1,4],includ:[5,0,1,6,4],lot:[7,4],forward:1,select_tag:4,tmp_dict:7,files:[5,0],get_webdir:7,form:1,tupl:[5,1],histogram:1,github:[7,0],link:[3,6],don:4,line:[3,1],webpage_postambl:7,sort_method:[7,1],heavi:5,made:3,consist:[7,4],possibl:7,whether:1,iteself:5,access:[5,4],maximum:5,otherwis:4,problem:4,similar:[3,1],connect:4,trim:[5,7,1],linux2:2,alongsid:3,creat:1,"int":3,repres:1,exist:4,file:1,home:6,ind:3,check:[3,1],assembl:7,again:4,moduleauthor:7,titl:[3,7],tip:1,detail:[0,1],intend:4,"default":[3,5,1,4],valid:[3,1],futur:3,branch:1,test:[1,4],you:[1,4],roll:[7,1],size_split:1,determin:3,in_dict:1,img_convert:5,reduc:[5,0,4],backward:1,"250k":4,faster:[1,4],directori:[3,6,4,7],bottom:[3,7],descript:[3,1],dict_prun:1,depth:[3,1],ignor:4,known_file_tag:4,time:[6,1,4],far:1,img_format:[5,1]},objtypes:{"0":"py:module","1":"py:function","2":"py:method","3":"py:class"},objnames:{"0":["py","module","Python module"],"1":["py","function","Python function"],"2":["py","method","Python method"],"3":["py","class","Python class"]},filenames:["index","ImageDict","versions","webpage","db","savefig","test","simple"],titles:["ImageMetaTag - Image metadata tagging and presentation","ImageMetaTag.ImageDict","Versions of Python","ImageMetaTag.webpage","ImageMetaTag.db","ImageMetaTag.savefig","ImageMetaTag - test.py","ImageMetaTag - simplest_img_dict.py"],objects:{"":{ImageMetaTag:[0,0,0,"-"]},"ImageMetaTag.webpage":{write_full_page:[3,1,1,""],copy_required_javascript:[3,1,1,""],write_js_placeholders:[3,1,1,""],write_js_to_header:[3,1,1,""],write_json:[3,1,1,""]},"ImageMetaTag.ImageDict":{return_from_list:[1,2,1,""],key_at_depth:[1,2,1,""],dict_index_array:[1,2,1,""],copy_except_dict_and_keys:[1,2,1,""],mergedicts:[1,2,1,""],dict_print:[1,2,1,""],keys_by_depth:[1,2,1,""],dict_remove:[1,2,1,""],flatten_lists:[1,2,1,""],remove:[1,2,1,""],dict_prune:[1,2,1,""],return_key_inds:[1,2,1,""],append:[1,2,1,""],dict_depths:[1,2,1,""],dict_depth:[1,2,1,""],sort_keys:[1,2,1,""],dict_union:[1,2,1,""],list_keys_by_depth:[1,2,1,""]},ImageMetaTag:{ImageDict:[1,3,1,""],dict_split:[1,1,1,""],simple_dict_filter:[1,1,1,""],savefig:[5,1,1,""],webpage:[3,0,0,"-"],readmeta_from_image:[1,1,1,""],db:[4,0,0,"-"],img_dict:[1,0,0,"-"],image_file_postproc:[5,1,1,""],check_for_required_keys:[1,1,1,""],dict_heirachy_from_list:[1,1,1,""]},"ImageMetaTag.db":{del_plots_from_dbfile:[4,1,1,""],info_key_to_db_name:[4,1,1,""],read_db_file_to_mem:[4,1,1,""],db_name_to_info_key:[4,1,1,""],write_img_to_open_db:[4,1,1,""],process_select_star_from:[4,1,1,""],select_dbcr_by_tags:[4,1,1,""],scan_dir_for_db:[4,1,1,""],write_img_to_dbfile:[4,1,1,""],select_dbfile_by_tags:[4,1,1,""],open_or_create_db_file:[4,1,1,""],read_img_info_from_dbcursor:[4,1,1,""],read_img_info_from_dbfile:[4,1,1,""],open_db_file:[4,1,1,""]}},titleterms:{creat:4,savefig:5,imagemetatag:[0,1,3,4,5,6,7],indic:0,intern:4,tag:0,file:4,tabl:0,open:4,compon:3,databas:4,wrapper:5,write:3,webpag:3,version:2,test:6,metadata:0,"function":[5,1,4],indidividu:3,python:2,imag:0,util:4,"class":1,present:0,imagedict:1,simplest_img_dict:7,prepar:1,work:4,other:5,whole:3,page:3,commonli:4}}) \ No newline at end of file +Search.setIndex({envversion:42,terms:{represent:3,all:[5,0,1,4],code:[6,0,7],nwp:6,consider:4,skip:6,focus:1,initial_selector:3,prefix:3,sleep:4,per:1,follow:[3,5,4,2],return_tim:4,row:4,depend:[3,5],allow_retri:4,imagemetatagtest:6,dbcr:4,dbcn:4,present:[],under:0,larg:[0,1,4],worth:4,sourc:[3,0,4],string:[3,1,4],fals:[3,5,1,4],diplsai:[],selector_anim:1,veri:[1,4],tagnam:[1,4],db_file:[5,4],dict_union:1,page_filenam:[3,7],level:[5,7,1],write_full_pag:[3,7,1],roll:[7,1],button:3,overid:4,list:[3,5,1,4,7],iter:1,"try":4,item:1,public_html:6,parallelis:[6,1],write_img_to_dbfil:[5,4],prevent:4,define_imt_db:7,smaller:5,this_set_of_ind:1,plot_dict:1,crop:[5,0],sign:7,second:[5,1,4],cost:4,pass:[3,5,1,4],write_js_setup:3,append:[7,1],index:[0,1],what:[7,1],disk:4,dict1:1,sub:[3,1],dict2:1,section:[3,1],abl:3,current:[3,5,1,6,4],delet:4,version:[],rgba:5,"new":[5,1],method:[5,1],metadata:[],involv:0,full:[3,1],themselv:4,iteritem:7,gener:1,here:[6,1],bodi:3,met:6,tagg:5,cursor:4,path:[3,1,4],ineffici:4,sinc:1,valu:[3,5,1,4,7],level_nam:[3,1],convert:[1,4],convers:5,slow:1,larger:[3,6,1],datetim:7,def:7,within:[3,6,1],action:6,chang:5,n_slpit:1,size_split:1,appli:[5,4],modul:[0,1,2,3,4,5,6],readmeta_from_imag:1,filenam:[3,5,4],visibl:3,should:[6,1,4],dct:1,select:[3,4],plot:[6,7,1,4],from:[5,7,1,4],describ:[6,1],would:[3,5,1],memori:[7,4],give:1,page_titl:7,few:[0,4],call:1,scan_dir_for_db:4,type:[3,7,1],start:[1,4],webpage_preambl:7,more:[3,0],sort:[7,1],flat:1,desir:5,peopl:3,claus:0,warn:4,depth:[3,1],accept:[5,4],particular:1,known:4,date_format_www:7,wegbpag:7,hold:1,logo_fil:5,must:1,accid:4,none:[3,5,1,4,7],scalabl:6,work:[],uniqu:[1,4],tag_nam:[5,4],can:[0,1,3,4,5,6,7],purpos:1,simple_dict:1,control:5,vals_at_depth:1,process:[5,0,1,6,4],lock:4,indic:[],tag:[],want:[7,1],logo_pad:5,occur:1,alwai:[3,5],surfac:1,multipl:[6,1],turn:7,rather:3,anoth:1,ordinari:1,write:6,how:[6,7],subdirectori:[1,4],instead:6,config:3,updat:4,regener:1,max:1,after:[3,5,1,4],write_js_to_head:3,gcc:2,befor:[3,5],mai:4,end:1,data:[3,6],parallel:7,demonstr:6,tmp_dict:7,"short":3,attempt:[5,1,4],practic:7,third:1,light:5,filepath:3,element:1,inform:3,"switch":[3,5],maintain:[5,4],allow:4,extra_opt:1,first:[3,1],order:[7,1],move:[3,1],becaus:1,in_list:1,held:[3,4],open_or_create_db_fil:4,style:3,group:1,file_dir:3,brows:[3,6,1],brook:7,do_vacuum:4,offic:6,imt:7,extenst:4,simplest_image_dict:[3,1],main:[5,6],pixel:5,them:[6,7,1,4],good:5,"return":[3,7,1,4],thei:[3,5,1,7],python:6,databs:7,initi:[3,4],"break":1,now:[3,7],tabnam:3,img_list:7,term:1,dict_split:1,name:[3,5,1,4],url_separ:3,simpl:[7,1],json_fil:3,revers:1,did:4,timeout:[5,4],each:[7,1],db_timeout:[5,4],mean:1,key_at_depth:1,replac:4,chunk:1,logo_po:5,copy_except_dict_and_kei:1,expect:[7,1],logo:[5,0],todo:5,special:1,out:3,variabl:3,do_trim:5,shown:[3,1],storag:5,basedir:4,primari:5,content:[7,0,1],process_select_star_from:4,adapt:5,rel:[3,1,4],print:7,factori:6,red:2,indidividu:[],freb:6,manipul:[3,0,5],differ:[3,5,1],standard:[5,4],base:3,dictionari:[5,0,1,4,7],releas:0,img_info:[7,1,4],afterward:1,indent:[3,1],could:[3,5],img_filenam:4,british:0,keep:7,filter:[5,1,4],thing:[7,1],length:3,ish:4,organis:1,licens:0,page_para:6,oper:4,required_tag:[7,4],upper:5,onc:[6,0,4],number:[0,1,5,4,7,6],placehold:3,restrict:1,date:1,alreadi:[3,5,4],done:3,wrapper:[],miss:[3,1],payload:[1,4],size:[5,1],avail:3,given:[3,0,1,5],raise_key_mismatch:1,script:[3,6],associ:[1,4],top:[3,5,7],messag:3,licenc:0,locat:[3,1,4],"final":1,store:[5,1,4],option:[5,0,1,4],dict_print:1,copi:[3,1,4],yield:1,specifi:[5,1],selector:[3,1],devmod:1,part:[6,1],mostli:1,off:7,dict_remov:1,imt_db:7,png:[5,0],skip_key_relist:1,target:[3,1],keyword:3,provid:4,copy_required_javascript:3,remov:1,tree:3,zero:5,structur:0,del_plots_from_dbfil:4,wepag:[3,6],str:3,posit:5,webdir:7,postambl:[3,7],pre:[5,4],sai:3,mergedict:1,img_dict:[3,7],attempt_replac:4,ani:4,packag:0,have:[6,0,1,4,7],tabl:[],need:[3,5,1,4],"null":1,border:[5,7],optimis:5,show_selector_nam:3,some:7,built:[0,4],latter:3,reverse_sort:[7,1],also:[0,1,3,4,5,6],exampl:[3,1],take:4,which:[3,0,1,4],tupl:[5,1],singl:[3,1],simplifi:5,unless:[0,4],return_key_ind:1,normal:4,strcutur:3,object:[3,0,1,6],compress:[5,7,1],most:4,regular:4,pair:[5,1,4],keep_open:5,requir:[3,1,4],select_dbfile_by_tag:4,animation_direct:1,simplest_img_dict:[],url:3,no_file_ext:4,request:4,input_dict:1,doe:[5,6,1,4],strucutur:3,clean:[1,4],add:[5,0,4],usual:[1,4],preambl:[3,7],pyplot:5,show:[3,7],text:[3,5,7],random:6,corner:5,find:1,untermin:1,pagenam:3,absolut:4,onli:[3,5,1,6,4],explicitli:0,ratio:5,copyright:0,menu:3,activ:1,written:[3,6,4],than:3,heirachi:[7,1],dict:[6,1,4],templat:3,read_img_info_from_dbcursor:4,tab_s_nam:3,write_json:3,mergdict:1,overwritten:3,restart_db:4,palett:[5,0],get:1,stop:1,soon:3,simple_dict_filt:1,report:[5,4],edg:5,restart:4,prune:1,truem:4,dpt:1,page_multi:6,info_key_to_db_nam:4,select_dbcr_by_tag:4,check_for_required_kei:1,common:0,animated_level:3,contain:[3,5,1,4],where:[6,1,4],dpi:5,view:[3,6],return_from_list:1,rm_dict:1,set:[3,6,1,4,7],skip_warn:4,dump:3,frame:3,maximum:5,see:[5,7],result:1,arg:5,fail:4,close:5,horizont:3,full_name_map:3,best:[5,7],selector_width:1,hopefulli:3,databas:[],someth:4,dropdown:3,nopt:4,label:3,state:0,restructur:4,subdir:1,simplest:7,"import":[6,7],thumbnail:[5,4],db_attempt:[5,4],altern:1,accord:[7,1,4],kei:[7,1,4],numer:[7,1],javascript:3,dicts_prun:1,extens:[3,5,4],malcolmbrook:7,dict_index_arrai:1,matplotlib:[5,0],outfil:5,db_content:4,horiz:3,popul:4,both:[1,4],last:1,equal:1,against:1,etc:[7,1],instanc:[3,5,4],context:5,logic:[1,4],com:7,strftime:7,load:[3,7,4],figur:[5,4],color:[7,1],malcolm:7,compelt:1,header:3,empti:[7,1,4],db_name_to_info_kei:4,image_file_postproc:5,suppli:[3,5,1,4,7],dict_heirachy_from_list:[7,1],animation_dicrect:1,duplic:4,quit:3,coupl:7,union:1,invers:4,been:[6,0,1,4,2],legend:5,compon:[],json:3,much:[5,6,1,4,7],basic:[5,6],n_split:1,addit:0,valueerror:4,quickli:[5,1],imag:[],resolut:5,search:0,argument:[5,4],req_kei:1,togeth:1,input:[3,5,1,4],sort_kei:[7,1],open_db_fil:4,those:[3,7],"case":[1,4],dict_dept:3,properti:1,write_img_to_open_db:4,aim:7,defin:[3,5,4,7],"while":[7,1],heirach:[0,1],occas:4,reverse_numer:[7,1],layer:1,stdout:3,"__main__":7,therefor:7,itself:4,minim:7,perform:4,suggest:4,make:[7,4],cross:1,same:[6,7],images_and_tag:7,member:6,webpag:6,html:[3,6,1,7],pad:5,split:1,sqlite3:4,complet:[3,7],http:[6,7],again:4,optim:4,upon:3,antialias:5,postabl:3,rais:1,temporari:[3,7],metadata7:3,tag_str:[7,4],lower:5,appropri:3,moder:5,entri:4,colour:[5,0],well:5,anim:[3,1],without:[6,4],command:[6,4],thi:[1,3,4,5,6,7],outstr:1,file_obj:3,write_js_placehold:3,left:5,construct:[3,7],identifi:4,just:[3,7,1,4],savefig:[],tip:1,exclud:4,rest:1,"__path__":7,aspect:5,previous:4,web:[5,0,1,7],subdir_excl_list:4,easi:[3,1],field:4,new_dict:1,except:[5,1],rgb:5,valid:[3,1],trim_bord:5,selector_prefix:3,els:7,save:4,hat:2,match:[1,4],build:[1,4],img_tag_req:4,around:[5,0],format:[5,0,4,7],read:[3,0,1,4,7],big:6,submodul:1,read_img_info_from_dbfil:[7,4],bit:5,characterist:1,recurs:1,list_keys_by_depth:1,scan:4,like:1,specif:[1,4],whitespac:5,integ:[5,1],shrink:5,out_arrai:1,"true":[3,5,1,4],either:[3,4],in_dict:1,output:[3,5,1,4],resiz:5,page:6,www:6,right:5,old:4,often:1,add_strict:4,crown:0,js_file:3,flatten:1,meterolog:1,guess:5,librari:[3,0],read_db_file_to_mem:4,logo_width:5,easili:[0,1],assum:1,avoid:4,url_typ:3,whole:[],usaulli:5,retri:4,leav:1,refer:[1,4],run:6,usag:4,"__name__":7,post:[5,0],dict_depth:[3,1],dropdownmenu:3,ascend:1,actual:[3,6],simul:1,act:6,upward:1,backup:4,produc:[0,1,3,4,5,6,7],routin:[7,1,4],uniform_depth:1,effici:7,primarili:4,keys_by_depth:1,three:1,bsd:0,in_str:4,do_thumb:5,write_intmed_tmpfil:3,flatten_list:1,img_tag:[5,7],manag:0,accordingli:1,wai:[5,7,1],aren:4,support:[5,0],overwrit:[3,5],verbos:[3,5,1,4],width:[5,1],includ:[5,0,1,6,4],lot:[7,4],forward:1,select_tag:4,only_show_rel_url:3,files:[5,0],get_webdir:7,form:1,great:3,histogram:1,github:[7,0],link:[3,6],don:4,line:[3,1],webpage_postambl:7,sort_method:[7,1],heavi:5,made:3,consist:[7,4],possibl:7,whether:1,iteself:5,access:[5,4],displai:3,otherwis:4,problem:4,similar:[3,1],connect:4,trim:[5,7,1],linux2:2,alongsid:3,creat:[],"int":3,repres:1,exist:4,file:[],home:6,ind:3,check:[3,1],assembl:7,denot:3,moduleauthor:7,titl:[3,7],when:[3,1,4],detail:[0,1],"default":[3,5,1,4],other:[],futur:3,branch:1,test:[],you:[1,4],img_fil:[7,1],intend:4,determin:3,time:[6,1,4],sql:0,img_convert:5,reduc:[5,0,4],img_format:[5,1],"250k":4,faster:[1,4],directori:[3,6,4,7],bottom:[3,7],descript:[3,1],mimic:6,ignor:4,known_file_tag:4,dict_prun:1,far:1,backward:1},objtypes:{"0":"py:module","1":"py:function","2":"py:method","3":"py:class"},objnames:{"0":["py","module","Python module"],"1":["py","function","Python function"],"2":["py","method","Python method"],"3":["py","class","Python class"]},filenames:["index","ImageDict","versions","webpage","db","savefig","test","simple"],titles:["ImageMetaTag - Image metadata tagging and presentation","ImageMetaTag.ImageDict","Versions of Python","ImageMetaTag.webpage","ImageMetaTag.db","ImageMetaTag.savefig","ImageMetaTag - test.py","ImageMetaTag - simplest_img_dict.py"],objects:{"":{ImageMetaTag:[0,0,0,"-"]},"ImageMetaTag.webpage":{write_full_page:[3,1,1,""],copy_required_javascript:[3,1,1,""],write_js_placeholders:[3,1,1,""],write_js_to_header:[3,1,1,""],write_json:[3,1,1,""]},"ImageMetaTag.ImageDict":{return_from_list:[1,2,1,""],key_at_depth:[1,2,1,""],dict_index_array:[1,2,1,""],copy_except_dict_and_keys:[1,2,1,""],mergedicts:[1,2,1,""],dict_print:[1,2,1,""],keys_by_depth:[1,2,1,""],dict_remove:[1,2,1,""],flatten_lists:[1,2,1,""],remove:[1,2,1,""],dict_prune:[1,2,1,""],return_key_inds:[1,2,1,""],append:[1,2,1,""],dict_depths:[1,2,1,""],dict_depth:[1,2,1,""],sort_keys:[1,2,1,""],dict_union:[1,2,1,""],list_keys_by_depth:[1,2,1,""]},ImageMetaTag:{ImageDict:[1,3,1,""],dict_split:[1,1,1,""],simple_dict_filter:[1,1,1,""],webpage:[3,0,0,"-"],readmeta_from_image:[1,1,1,""],db:[4,0,0,"-"],savefig:[5,1,1,""],img_dict:[1,0,0,"-"],image_file_postproc:[5,1,1,""],check_for_required_keys:[1,1,1,""],dict_heirachy_from_list:[1,1,1,""]},"ImageMetaTag.db":{del_plots_from_dbfile:[4,1,1,""],info_key_to_db_name:[4,1,1,""],read_db_file_to_mem:[4,1,1,""],db_name_to_info_key:[4,1,1,""],write_img_to_open_db:[4,1,1,""],process_select_star_from:[4,1,1,""],select_dbcr_by_tags:[4,1,1,""],scan_dir_for_db:[4,1,1,""],write_img_to_dbfile:[4,1,1,""],select_dbfile_by_tags:[4,1,1,""],open_or_create_db_file:[4,1,1,""],read_img_info_from_dbcursor:[4,1,1,""],read_img_info_from_dbfile:[4,1,1,""],open_db_file:[4,1,1,""]}},titleterms:{creat:4,savefig:5,imagemetatag:[0,1,3,4,5,6,7],indic:0,intern:4,tag:0,file:4,tabl:0,open:4,compon:3,databas:4,wrapper:5,write:3,webpag:3,version:2,test:6,metadata:0,"function":[5,1,4],indidividu:3,python:2,imag:0,util:4,"class":1,present:0,imagedict:1,simplest_img_dict:7,prepar:1,work:4,page:3,whole:3,other:5,commonli:4}}) \ No newline at end of file diff --git a/docs/build/html/webpage.html b/docs/build/html/webpage.html index c3ebd0c..a9a74ac 100644 --- a/docs/build/html/webpage.html +++ b/docs/build/html/webpage.html @@ -135,7 +135,7 @@

    Writing a whole pagepreamble : html text added at the top of the <body> text, but before the ImageMetaTag section. Can be quite extensive.
  • postable : html text added after the ImageMetaTag section.
  • initial_selectors - A list of initial values for the selectors, to be passed into ImageMetaTag.webpage.write_js_setup().
  • -
  • show_selector_names - switches on diplsaying the selector full names defined by the ImageMetaTag.ImageDict.full_name_mapping
  • +
  • show_selector_names - switches on displaying the selector full names defined by the ImageMetaTag.ImageDict.full_name_mapping
  • url_type - determines the type of URL at the bottom of the ImageMetaTag section. Can be ‘int’ or ‘str’.
  • only_show_rel_url - If True, the wepage will only show relative urls in is link section.
  • verbose - If True, stdout will be more verbose
  • @@ -175,7 +175,7 @@

    As indidividual components
    -ImageMetaTag.webpage.write_js_placeholders(file_obj=None, dict_depth=None, selector_prefix=None, style='horiz dropdowns', level_names=False)[source]
    +ImageMetaTag.webpage.write_js_placeholders(file_obj=None, dict_depth=None, selector_prefix=None, style='horiz dropdowns', level_names=False, animated_level=None)[source]

    Writes the placeholders into the page body, for the javascript to manipulate

    • file_obj - an open file object to write to
    • @@ -183,6 +183,7 @@

      As indidividual components