From 3c50d84bf3c9f6d46b19bf7f3f7a0e8cd713607c Mon Sep 17 00:00:00 2001 From: fornib Date: Mon, 26 Mar 2018 09:19:13 +0200 Subject: [PATCH 1/6] Program update & clean up --- EnCAB/EnCAB.py | 244 ++-- EnCAB/README.md | 28 +- EnCAB/config.py | 13 +- EnCAB/requirements.txt | 8 +- EnCAB/templates/algorithm.html | 22 +- EnCAB/to-do programming.txt | 15 +- docs/algorithm_type/algorithm_type_index.html | 4 +- docs/algorithms/algorithm_bibliography.html | 322 ++--- docs/algorithms/algorithm_materials.html | 319 ++--- .../algorithm_position_in_process.html | 319 ++--- docs/algorithms/algorithm_type.html | 1037 +++++++++-------- docs/algorithms_data/- Current Error Log.lnk | Bin 1159 -> 0 bytes .../algorithms_data/- algorithms codes format | 101 ++ .../- complete algorithms codes | 101 -- docs/algorithms_data/Aurenche_1981_46.xml | 8 +- docs/algorithms_data/Aurenche_1981_54.xml | 6 +- .../algorithms_data/Cornerstones_2006_133.xml | 2 +- docs/algorithms_data/Garner_1984_5.xml | 2 +- docs/algorithms_data/Minke_1994_55.xml | 3 +- docs/bibliography/bibliography.html | 2 +- docs/material/material_index.html | 4 +- .../position_in_process_index.html | 4 +- docs/scripts.js | 2 +- .../source_chronology_index.html | 4 +- .../source_geography_index.html | 4 +- docs/source_type/source_type_index.html | 4 +- docs/units/units_index.html | 4 +- 27 files changed, 1329 insertions(+), 1253 deletions(-) delete mode 100644 docs/algorithms_data/- Current Error Log.lnk create mode 100644 docs/algorithms_data/- algorithms codes format delete mode 100644 docs/algorithms_data/- complete algorithms codes diff --git a/EnCAB/EnCAB.py b/EnCAB/EnCAB.py index 7342bc4..2a291a6 100644 --- a/EnCAB/EnCAB.py +++ b/EnCAB/EnCAB.py @@ -22,7 +22,7 @@ class Logger(object): def __init__(self): self.terminal = sys.stdout - self.log = open('log.txt', 'w') + self.log = open('log.txt', 'w', encoding="utf-8") def write(self, message): self.terminal.write(message) @@ -31,7 +31,7 @@ def write(self, message): def flush(self): pass -# save text to log.txt +# Save text to log.txt logger = Logger() sys.stdout = logger sys.stderr = logger @@ -40,76 +40,126 @@ def flush(self): def files_index(website_dir): """ Generate dict of file names from first subdirectories """ - # TODO: move to single folder or get list from config - # better: get folders from section name - + # Get files index index = dict() - for subdir in os.listdir(website_dir): if os.path.isdir(os.path.join(website_dir,subdir)): for filename in os.listdir(os.path.join(website_dir,subdir)): if os.path.isfile(os.path.join(website_dir,subdir,filename)) and filename.endswith('.html'): - if '_index' not in filename: # exclude index files - # for each subdir make a list of filenames - # {'subdir1': ['file1','file2'], 'subdir2': ['file3'], ..} - index.setdefault(subdir, []).append(filename[:-5]) # append file without .html extension + if IGNORE_IF_CONTAIN and IGNORE_IF_CONTAIN in filename: + continue # exclude index files themselves + # for each subdir make a list of filenames + # {'subdir1': ['file1','file2'], 'subdir2': ['file3'], ..} + index.setdefault(subdir, []).append(filename[:-5]) # append file without .html extension + + # Get author index + author_index = set() + bibliography = os.path.join(WEBSITE_DIR, "bibliography/bibliography.html") + if os.path.isfile(bibliography): + try: + soup = BeautifulSoup(open(bibliography, 'r', encoding="utf-8"), "html.parser") + except IOError as err1: + print(f'[Err] {str(err1)}') + sys.exit() + + for item in soup.find_all('a', attrs={'name': True}): + if item['name']: + author_index.add(item['name']) + for item in soup.find_all(attrs={'id': True}): + if item['id']: + author_index.add(item['id']) + else: + print(f'[Err] Bibliography file "{bibliography}" not found') - return index + return index, author_index -def get_algo_data(algo_dir, index): +def get_algo_data(algo_dir, index, author_index): algo_data = [] for file in os.listdir(algo_dir): filename = os.path.join(algo_dir, file) if os.path.isfile(filename) and filename.endswith(('.xml', '.txt')): - algo_data += [(parse(filename, index), os.path.basename(filename))] + algo_data += [(parse(filename, index, author_index), os.path.basename(filename))] return algo_data -def parse(filename, index): +def parse(filename, index, author_index): """ Read XML algorithms data and check for errors """ - errors = [] # list of all errors encountered - try: tree = ET.parse(filename) except ET.ParseError as err: print(f'[Err] "{os.path.basename(filename)}" {err}.') sys.exit() - - """ except IOError as err1: - input('\n[-] {}\n'.format(str(err1))) + print(f'[Err] {str(err1)}') + sys.exit() + except UnicodeError as err2: + print(f'[Err] Check for bad characters (encoding: UTF-8) in "{os.path.basename(filename)}"') + print(f'\n- Full error: \n{str(err2)}') sys.exit() - except UnicodeError: - input('\n[Err] "{0}".\n --> Check for bad characters or convert file encoding to UTF-8.\n'.format(filename)) - sys.exit() - """ root = tree.getroot() - # (.attrib), .text, .tag, .find('item'), .findall - # for atype in e.findall('type'): - # print(atype.get('foobar')) for elem in root.iter(): # Remove blank lines from all text if elem.text: elem.text = elem.text.strip() - # Check if all the tags are know - if elem.tag not in KNOWN_TAGS: - pass # print('[-] Unknown input: "{}"'.format(elem.tag)) + + # Check text correctness + def check_code(code, t_regex=None, mandatory=True): + if root.find(code) is None or not root.find(code).text: + if mandatory: + errors.append(code) + return + if t_regex and not re.match(t_regex, root.find(code).text, flags=re.I): + errors.append(code) + return + + def check_biblio(author): + if author_index: + author_name = '' + if author.find('surname') is not None: + author_name += (author.find('surname').text or '').strip(',.').replace(' ', '') + if author.find('firstname') is not None: + author_name += (author.find('firstname').text or '').strip(',.').replace(' ', '') + if author_name and author_name not in author_index: + print(f'[Err] Author "{author_name}" in "{os.path.basename(filename)}" not found in bibliography') + return + + errors = [] # reference: authors_date_pagenumber(_sequential) - if not root.find('reference').text or not re.match(r"^\w+_\d{4}_\d+(|_\d+)$", root.find('reference').text, flags=re.I): - errors.append('reference') - # ecc: ... - if not True: - errors.append('ecc...') + check_code('reference', r"^\w+_\d{4}_\d+(|_\d+)$", mandatory=True) + # biblioref/authorgroup/author/surname + check_code('biblioref/authorgroup/author/surname', mandatory=True) + # biblioref/authorgroup/author/*name: in Bibliography + for author in root.find('biblioref/authorgroup'): + check_biblio(author) + # biblioref/abbrev: author_date + check_code('biblioref/abbrev', r"^\w+_\d{4}$", mandatory=True) + check_code('biblioref/abbrev2', r"^\w+_\d{4}$", mandatory=False) + # biblioref/pagenums: numbers separated by - or , + check_code('biblioref/pagenums', r"^\d+( ?[-,] ?\d+)*$", mandatory=True) + check_code('biblioref/pagenums2', r"^\d+( ?[-,] ?\d+)*$", mandatory=False) + # algdata/algorithm_statement + check_code('algdata/algorithm_statement', mandatory=True) + # algauthors/*_author_group/author/*_date: dd.mm.yyyy + # algauthors/*_author_group/author/*name: in Bibliography + creation = 'algauthors/creation_author_group' + modification = 'algauthors/modification_author_group' + if root.find(creation) is not None and len(root.find(creation)) > 1: # Check only 1 creation author + print(f'[Err] Only 1 author allowed in {creation} in "{os.path.basename(filename)}"') + check_code(creation+'/author/creation_date', r"^\d{2}\.\d{2}\.\d{4}$", mandatory=False) + check_biblio(root.find(creation+'/author')) + if root.find(modification) is not None: + for i in range(len(root.find(modification))): + check_code(modification+'/author['+str(i+1)+']/modification_date', r"^\d{2}\.\d{2}\.\d{4}$", mandatory=False) + check_biblio(root.find(modification+'/author['+str(i+1)+']')) # algorithm_description: check if file exist for each description type - # ! CHANGE with config or sub-folder for d_type in root.find('algorithm_description'): if d_type.tag not in index.keys(): print('[Err] "{}" from "{}" not found in website folders.'.format(d_type.tag+'/', os.path.basename(filename))) @@ -136,6 +186,7 @@ def parse(filename, index): print(f'[Err] Missing in in "{os.path.basename(filename)}"') op_result = True if root.find('algdata/variables'): + var_names = set() for var in root.find('algdata/variables'): # Check in variables if not var.find('unit').text: @@ -148,14 +199,15 @@ def parse(filename, index): # Check in variables if not op_result and (var.find('op') is None or not var.find('op').text): print(f'[Err] Missing in "{os.path.basename(filename)}"') - - # TODO: all errors trap (check codes and info) [NOT everything must be present] + # Check different names + if var.tag in var_names: + print(f'[Err] Same names of variables in "{os.path.basename(filename)}"') + else: + var_names.add(var.tag) if errors: print(f'[Err] In "{os.path.basename(filename)}", the data in following tags is wrong: {errors}') - # ? beautify XML files - return root @@ -163,7 +215,7 @@ def write_data(website_dir, algo_data, index): """ Update
s with HTML rendered data """ # Regex parser for
tags [html parsers don't keep formatting] - regex_section = re.compile(r"(.*?)(().*?(<\/section>))(.*)", flags=re.DOTALL|re.I) + regex_section = re.compile(r"((.*?)().*?(<\/section>.*?(?=(?: - sections = regex_section.fullmatch(html_file) + # search for
s + sections = regex_section.findall(html_file) if not sections: continue - # check attributes - soup = BeautifulSoup(sections.group(2), "html.parser").find('section') - if not soup.has_attr('block'): - print('[Err] Found
without "block" attribute in "{}".'.format(filename)) - continue - - sort = soup.get('sort') - - # Based on block and sort, choose template and sort/trim the data - if soup['block'] == "algorithm": # ? use file names / if type in TEMPLATES - - template = TEMPLATE_ALGORITHM - - if sort in SORT_STRINGS.keys(): - blocks_data = sorted(algo_data, key=lambda x: x[0].find(SORT_STRINGS[sort]).text - if x[0].find(SORT_STRINGS[sort]) is not None else 'zzz') - # elif sort: # TODO: custom sort - else: - blocks_data = algo_data[:] # just copy the data if no sort found for algorithm - - elif soup['block'] == "index": + html_file_updated = '' - template = TEMPLATE_INDEX + for unchanged, start, section, end in sections: - if not sort: - print('[Err] Missing sort attribute in
for index in file "{}".'.format(filename)) + # check attributes + soup = BeautifulSoup(section, "html.parser").find('section') + sort = soup.get('sort') + if not soup.has_attr('block'): + print(f'[Err] Missing attribute block in
in "{os.path.basename(filename)}".') + html_file_updated += unchanged + continue + elif not sort: + print(f'[Err] Missing attribute sort in
in file "{os.path.basename(filename)}".') + html_file_updated += unchanged continue - if sort in index.keys(): - blocks_data = sorted(index[sort]) + # Based on block and sort, choose template and sort/trim the data + if soup['block'] == "algorithm": + template = TEMPLATE_ALGORITHM + sort = SORT_STRINGS[sort] if sort in SORT_STRINGS.keys() else sort + blocks_data = sorted(algo_data, key=lambda x: + (x[0].find(sort).text if x[0].find(sort) is not None and x[0].find(sort).text else 'zzz', + x[0].find('reference').text)) + + elif soup['block'] == "index": + template = TEMPLATE_INDEX + if sort in index.keys(): + blocks_data = sorted(index[sort]) + else: + print(f'[Err] Attribute sort="{sort}" in
in file "{os.path.basename(filename)}" NOT valid.') + html_file_updated += unchanged + continue else: - print('[Err] Sort attribute in file "{}" NOT valid.'.format(filename)) + block = soup['block'] + print(f'[Err] Attribute block="{block}" in
in file "{os.path.basename(filename)}" NOT valid.') + html_file_updated += unchanged continue - else: - print('[Err]
block value "{}" in file "{}" NOT valid.'.format(block, filename)) - continue - - html_data = generate_html(os.path.relpath(template), blocks_data) + html_data = generate_html(os.path.relpath(template), blocks_data, sort) - # reconstruct html with updated
- html_file_updated = sections.group(1)+sections.group(3)+ html_data +\ - ' '+sections.group(4)+sections.group(5) + # reconstruct html with updated
+ html_file_updated += start + section + html_data + end # write HTML to file try: @@ -242,12 +294,12 @@ def write_data(website_dir, algo_data, index): return -def generate_html(template, blocks_data): +def generate_html(template, blocks_data, sort): """ Sort and render the data with templates """ path, filename = os.path.split(template) return jinja2.Environment(loader=jinja2.FileSystemLoader(path or '.'))\ - .get_template(filename).render(blocks_data=blocks_data) + .get_template(filename).render(blocks_data=blocks_data, sort=sort)#{% set old_sort = '' %} def check_config(): @@ -258,17 +310,17 @@ def check_config(): if not conf in globals(): missing.append(conf) if missing: - input('[Err] Wrong config, {} not found.'.format(str(missing).strip('[]').replace('\'', '\"'))) + print('[Err] Wrong config, {} not found.'.format(str(missing).strip('[]').replace('\'', '\"'))) sys.exit() for config_dir in [WEBSITE_DIR, ALGORITHMS_DIR]: if not os.path.isdir(os.path.relpath(config_dir)): - input('[Err] Wrong config, "{}" directory not found.'.format(config_dir)) + print(f'[Err] Wrong config, "{config_dir}" directory not found.') + sys.exit() + for config_file in [TEMPLATE_ALGORITHM, TEMPLATE_INDEX]: + if not os.path.isfile(os.path.relpath(config_file)): + print(f'[Err] Wrong config, file "{config_file}" not found.') sys.exit() - - for config_template in [TEMPLATE_ALGORITHM, TEMPLATE_INDEX]: - if not os.path.isfile(os.path.relpath(config_template)): - print('[Err] Wrong config, template "{}" not found.'.format(config_template)) return @@ -277,20 +329,20 @@ def check_config(): # app.run() check_config() - print(''' + print(f''' EnCAB: Energetic Calculator for Ancient Buildings ------------------------------------------------------ This program will update website
with indexes and algorithms. Edit config file to change directories and preference. - Config file: "{}". - Website directory: "{}". - Algorithms directory: "{}". - Algorithm template: "{}". - Index template: "{}". + Config file: "{'config.py'}". + Website directory: "{WEBSITE_DIR}". + Algorithms directory: "{ALGORITHMS_DIR}". + Algorithm template: "{TEMPLATE_ALGORITHM}". + Index template: "{TEMPLATE_INDEX}". -'''.format('config.py', WEBSITE_DIR, ALGORITHMS_DIR, TEMPLATE_ALGORITHM, TEMPLATE_INDEX)) +''') try: print('Press ENTER to Continue, Ctrl-C to Abort.\n') # input() @@ -298,12 +350,10 @@ def check_config(): sys.exit() print('[*] Generating indexes...') - index = files_index(os.path.relpath(WEBSITE_DIR)) + index, author_index = files_index(os.path.relpath(WEBSITE_DIR)) print('[*] Importing algorithms data...') - algo_data = get_algo_data(os.path.relpath(ALGORITHMS_DIR), index) - - # print(index) ### + algo_data = get_algo_data(os.path.relpath(ALGORITHMS_DIR), index, author_index) print('[*] Writing data...') write_data(os.path.relpath(WEBSITE_DIR), algo_data, index) diff --git a/EnCAB/README.md b/EnCAB/README.md index 4ca42d5..a4fab0a 100644 --- a/EnCAB/README.md +++ b/EnCAB/README.md @@ -1,8 +1,6 @@ # EnCAB -> Work in progress - -Python program to update static website with indexes and algorithms. +Python program to update static HTML website with algorithms and index imported from XML data. ## Getting started @@ -26,26 +24,28 @@ Press ENTER to confirm configuration and update HTML files. ### Built With -Python 3, with Jinja2 (for templating) and BeautifulSoup (for editing HTML). +Python 3, with Jinja2 (for templating), ElementTree (for parsing XML) and BeautifulSoup (for parsing HTML). ## Configuration -Edit config file ("config.py") to change directories and preference. -The program will access the HTML files and the algorithms data. -The algorithms data are XML files for each algorithm. +Edit config file "config.py" to change directories and other preferences. -The website MUST contain the directories named as the different , -each containing the different HTML files to be indexed. +The program will read the HTML files and the algorithms data. +It will write the HTML data in *.html files inside
. +block="algorithm" sort="(name)" --> write algorithms data, insert in (name) a SORT_STRINGS (from "config.py") or XML XPath of desired item to sort +block="index" sort="(name)" --> write files index, insert in (name) the folder name of desired files to use for the sorted index +Templates are written in Jinja2 templating language. The XML ElementTree is passed as argument. -## Tests +### Data -[coming soon] +Each algorithms must have its own XML file stored in ALGORITHMS_DIR with .xml or .txt extension. +See "- algorithms codes format" for mandatory format of the codes. -```shell -test/test.py -``` +### Errors + +The log containing the errors found by the program are stored in the file "log.txt". ## Licensing diff --git a/EnCAB/config.py b/EnCAB/config.py index 426b538..1644b28 100644 --- a/EnCAB/config.py +++ b/EnCAB/config.py @@ -17,16 +17,11 @@ TEMPLATE_INDEX = "templates/index.html" # default: "templates/index.html" -# Extra options - -# List of used tags to check for unknown tags in XML input -KNOWN_TAGS = ["reference", "biblioref", "authorgroup"] - # List of possible sort attributes for
with relative XML tag -SORT_STRINGS = {'algorithm_types': 'algorithm_description/algorithm_types', +SORT_STRINGS = {'algorithm_type': 'algorithm_description/algorithm_type', 'position_in_process': 'algorithm_description/position_in_process', 'material': 'algorithm_description/material', - 'abbrev': 'reference'} + 'abbrev': 'biblioref/abbrev'} -# INDEXES = [..,..] folders -# IGNORE_IF_CONTAIN = "_index" #_files to ignore in index \ No newline at end of file +# String to select files containing it in their filename, those files will be ignored for the index +IGNORE_IF_CONTAIN = "_index" # default: "_index" diff --git a/EnCAB/requirements.txt b/EnCAB/requirements.txt index 7fb953e..72cfb00 100644 --- a/EnCAB/requirements.txt +++ b/EnCAB/requirements.txt @@ -1,5 +1,3 @@ -Jinja2==2.10 -MarkupSafe==1.0 -beautifulsoup4==4.6.0 -#Flask -#Frozen-Flask +Jinja2 +MarkupSafe +beautifulsoup4 diff --git a/EnCAB/templates/algorithm.html b/EnCAB/templates/algorithm.html index 8df5a9d..67e6501 100644 --- a/EnCAB/templates/algorithm.html +++ b/EnCAB/templates/algorithm.html @@ -1,11 +1,15 @@ -{% for b, filename in blocks_data -%} -{{ b.find('reference').text|replace('_',' ') }}{% if not loop.last %} - {% endif %} -{% endfor %} +{#- --- INDEX --- #} +{%- set ns = namespace(new_sort = '') %} +{% for b, filename in blocks_data -%}{% if b.find(sort).text.lower() != ns.new_sort.lower() %}{% set ns.new_sort = b.find(sort).text %} +{% if ns.new_sort %}{% if not loop.first %} - {% endif %}{{ ns.new_sort|replace('_',' ') }}{% endif %} +{%- endif %}{% endfor %} +{% set ns.new_sort = '' %}


{% for b, filename in blocks_data %} +{% if b.find(sort).text.lower() != ns.new_sort.lower() %}{% set ns.new_sort = b.find(sort).text %}{% endif %} {{ b.find('reference').text|replace('_',' ') }} @@ -42,18 +46,18 @@ {% endif %} - - - - + + - - + + diff --git a/EnCAB/to-do programming.txt b/EnCAB/to-do programming.txt index e431bbc..f448c5f 100644 --- a/EnCAB/to-do programming.txt +++ b/EnCAB/to-do programming.txt @@ -1,20 +1,13 @@ List of things still to do in EnCAB Program: +-------------------------------------------- - -- check Aurence - - -The HTML files where the algorithms are placed should have links to anchors for the different categories; example, at the top of 'Algorithms by Material' instead of links to the individual algorithms (Abrans 1994_47_1 etc) there should be links to the materials, so 'earth', 'mudbrick', 'pise'', 'plaster' etc. The same for the algorithm_type.html and the algorithm_position_in_process.html. The algorithm_bibliography.html would instead be by author_year, so Abrams 1994. - -update Readme file - write programming page write Bernardo bio page +favicon.ico ? ----------- - -create a CSV data dump from all the input files used (also the ones with errors) with the XML tags as headers. Filename should be "EnCAB_input_xyz.csv" where xyz is the date (year month day format) and time. the seperator should be a tab character (the error trapping should give an error if there is a tab used in the input, and should replace that character with 5 spaces when sending to the CSV file) +CSV data dump from all the input files used (also the ones with errors) with the XML tags as headers. Filename should be "EnCAB_input_xyz.csv" where xyz is the date (year month day format) and time. + the separator should be a tab character (the error trapping should give an error if there is a tab used in the input, and should replace that character with 4 spaces when sending to the CSV file) diff --git a/docs/algorithm_type/algorithm_type_index.html b/docs/algorithm_type/algorithm_type_index.html index 7b3bf5e..d4c4d9e 100644 --- a/docs/algorithm_type/algorithm_type_index.html +++ b/docs/algorithm_type/algorithm_type_index.html @@ -27,8 +27,8 @@

Index:

tools   transport   wall building   - +

Algorithm Type

Algorithm Type

- + \ No newline at end of file diff --git a/docs/algorithms/algorithm_bibliography.html b/docs/algorithms/algorithm_bibliography.html index d038870..b5fb29d 100644 --- a/docs/algorithms/algorithm_bibliography.html +++ b/docs/algorithms/algorithm_bibliography.html @@ -17,37 +17,22 @@

Algorithms by Bibliography

Algorithms by Bibliography

Algorithms:

-Abrams 1994 45 1 - -Abrams 1994 45 2 - -Abrams 1994 46 1 - -Abrams 1994 46 2 - -Abrams 1994 46 3 - -Abrams 1994 47 1 - -Abrams 1994 47 2 - -Abrams 1994 47 3 - -Abrams 1994 48 1 - -Abrams 1994 48 2 - -Abrams 1994 48 3 - -Abrams 1994 49 1 - -Abrams 1994 49 2 - -Abrams 1994 49 3 - -Aurenche 1981 46 - -Aurenche 1981 54 - -Aurenche 1981 66 - -Buccellati 2016 108 - -Buccellati 2016 109 - -Cornerstones 2006 132 - -Cornerstones 2006 133 - -Garner 1984 5 - -Heimpel 2009 223 - -Minke 1994 55 - -Robson 1999 67 - -Wulff 1966 126 + +Abrams 1994 + - Aurenche 1981 + - Buccellati 2016 + - Cornerstones Community Partnerships Staff 2006 + - Garner 1984 + - Heimpel 2009 + - MinkeG 1994 + - Robson 1999 + - Wulff 1966


+ Abrams 1994 45 1
Source info:{% if b.find('biblioref/authorgroup/author').text %}{{ b.find('biblioref/abbrev').text|replace('_',' ') }}{% else %}{{ (b.find('biblioref/abbrev').text|replace('_',' ')) or '' }}{% endif %} + Source info:{% if b.find('biblioref/authorgroup/author').text %}{{ b.find('biblioref/abbrev').text|replace('_',' ') }}{% else %}{{ (b.find('biblioref/abbrev').text or '')|replace('_',' ') }}{% endif %} {%- if b.find('biblioref/pagenums').text %}, {{ b.find('biblioref/pagenums').text }}{% endif %}Also cited in:{% if b.find('biblioref/authorgroup/author2').text %}{{ b.find('biblioref/abbrev2').text|replace('_',' ') }}{% else %}{{ (b.find('biblioref/abbrev2').text|replace('_',' ')) or '' }}{% endif %} + Also cited in:{% if b.find('biblioref/authorgroup/author2').text %}{{ b.find('biblioref/abbrev2').text|replace('_',' ') }}{% else %}{{ (b.find('biblioref/abbrev2').text or '')|replace('_',' ') }}{% endif %} {%- if b.find('biblioref/pagenums2').text %}, {{ b.find('biblioref/pagenums').text }}{% endif %}
Algorithm type:{% if b.find('algorithm_description/algorithm_type').text %}{{ b.find('algorithm_description/algorithm_type').text }}{% endif %}Position in process:{% if b.find('algorithm_description/position_in_process').text %}{{ b.find('algorithm_description/position_in_process').text }}{% endif %}Algorithm type:{% if b.find('algorithm_description/algorithm_type').text %}{{ b.find('algorithm_description/algorithm_type').text|title }}{% endif %}Position in process:{% if b.find('algorithm_description/position_in_process').text %}{{ b.find('algorithm_description/position_in_process').text|title }}{% endif %}
Material:{% if b.find('algorithm_description/material').text %}{{ b.find('algorithm_description/material').text }}{% endif %}Source type:{% if b.find('algorithm_description/source_type').text %}{{ b.find('algorithm_description/source_type').text }}{% endif %}Material:{% if b.find('algorithm_description/material').text %}{{ b.find('algorithm_description/material').text|title }}{% endif %}Source type:{% if b.find('algorithm_description/source_type').text %}{{ b.find('algorithm_description/source_type').text|title }}{% endif %}
Source chronology:{% if b.find('algorithm_description/source_chronology').text %}{{ b.find('algorithm_description/source_chronology').text }}{% endif %}
@@ -71,15 +56,15 @@

Algorithms:

- + - - + + - - + + @@ -104,6 +89,7 @@

Algorithms:



+ Abrams 1994 45 2
Source info:Abrams 1994, 45Also cited in:NoneAlso cited in:
Algorithm type:quarrying tuffPosition in process:procurementAlgorithm type:Quarrying TuffPosition in process:Procurement
Material:stoneSource type:ethnographicMaterial:StoneSource type:Ethnographic
Source chronology:
@@ -127,15 +113,15 @@

Algorithms:

- + - - + + - - + + @@ -160,6 +146,7 @@

Algorithms:



+ Abrams 1994 46 1
Source info:Abrams 1994, 45Also cited in:NoneAlso cited in:
Algorithm type:quarrying tuffPosition in process:procurementAlgorithm type:Quarrying TuffPosition in process:Procurement
Material:stoneSource type:ethnographicMaterial:StoneSource type:Ethnographic
Source chronology:
@@ -183,15 +170,15 @@

Algorithms:

- + - - + + - - + + @@ -216,6 +203,7 @@

Algorithms:



+ Abrams 1994 46 2
Source info:Abrams 1994, 46Also cited in:NoneAlso cited in:
Algorithm type:quarrying tuffPosition in process:procurementAlgorithm type:Quarrying TuffPosition in process:Procurement
Material:stoneSource type:ethnographicMaterial:StoneSource type:Ethnographic
Source chronology:
@@ -239,15 +227,15 @@

Algorithms:

- + - - + + - - + + @@ -272,6 +260,7 @@

Algorithms:



+ Abrams 1994 46 3
Source info:Abrams 1994, 46Also cited in:NoneAlso cited in:
Algorithm type:quarrying cobblesPosition in process:procurementAlgorithm type:Quarrying CobblesPosition in process:Procurement
Material:stoneSource type:ethnographicMaterial:StoneSource type:Ethnographic
Source chronology:
@@ -295,15 +284,15 @@

Algorithms:

- + - - + + - - + + @@ -328,6 +317,7 @@

Algorithms:



+ Abrams 1994 47 1
Source info:Abrams 1994, 46Also cited in:NoneAlso cited in:
Algorithm type:material qualitiesPosition in process:materialsAlgorithm type:Material QualitiesPosition in process:Materials
Material:stoneSource type:ethnographicMaterial:StoneSource type:Ethnographic
Source chronology:
@@ -354,12 +344,12 @@

Algorithms:

- - + + - - + + @@ -384,6 +374,7 @@

Algorithms:



+ Abrams 1994 47 2
Also cited in:Erasmus 1965, 47
Algorithm type:earth diggingPosition in process:procurementAlgorithm type:Earth DiggingPosition in process:Procurement
Material:earthSource type:ethnographicMaterial:EarthSource type:Ethnographic
Source chronology:
@@ -407,15 +398,15 @@

Algorithms:

- + - - + + - - + + @@ -440,6 +431,7 @@

Algorithms:



+ Abrams 1994 47 3
Source info:Abrams 1994, 47Also cited in:NoneAlso cited in:
Algorithm type:building cobblesPosition in process:constructionAlgorithm type:Building CobblesPosition in process:Construction
Material:stoneSource type:ethnographicMaterial:StoneSource type:Ethnographic
Source chronology:
@@ -478,11 +470,11 @@

Algorithms:

- - + + - + @@ -508,6 +500,7 @@

Algorithms:



+ Abrams 1994 48 1
Also cited in:AabergBonsignore 1975, 47
Algorithm type:transportPosition in process:transportAlgorithm type:TransportPosition in process:Transport
Material:earthMaterial:Earth Source type:
@@ -531,15 +524,15 @@

Algorithms:

- + - - + + - - + + @@ -564,6 +557,7 @@

Algorithms:



+ Abrams 1994 48 2
Source info:Abrams 1994, 48Also cited in:NoneAlso cited in:
Algorithm type:toolsPosition in process:toolsAlgorithm type:ToolsPosition in process:Tools
Material:stoneSource type:ethnographicMaterial:StoneSource type:Ethnographic
Source chronology:
@@ -587,15 +581,15 @@

Algorithms:

- + - - + + - - + + @@ -620,6 +614,7 @@

Algorithms:



+ Abrams 1994 48 3
Source info:Abrams 1994, 48Also cited in:NoneAlso cited in:
Algorithm type:cut masonry blocksPosition in process:procurementAlgorithm type:Cut Masonry BlocksPosition in process:Procurement
Material:stoneSource type:ethnographicMaterial:StoneSource type:Ethnographic
Source chronology:
@@ -643,15 +638,15 @@

Algorithms:

- + - - + + - - + + @@ -676,6 +671,7 @@

Algorithms:



+ Abrams 1994 49 1
Source info:Abrams 1994, 48Also cited in:NoneAlso cited in:
Algorithm type:cut masonry blocksPosition in process:procurementAlgorithm type:Cut Masonry BlocksPosition in process:Procurement
Material:stoneSource type:ethnographicMaterial:StoneSource type:Ethnographic
Source chronology:
@@ -702,12 +698,12 @@

Algorithms:

- - + + - - + + @@ -732,6 +728,7 @@

Algorithms:



+ Abrams 1994 49 2
Also cited in:Abrams 1984
Algorithm type:sculpturingPosition in process:manufactureAlgorithm type:SculpturingPosition in process:Manufacture
Material:stoneSource type:ethnographicMaterial:StoneSource type:Ethnographic
Source chronology:
@@ -758,12 +755,12 @@

Algorithms:

- - + + - - + + @@ -788,6 +785,7 @@

Algorithms:



+ Abrams 1994 49 3
Also cited in:Abrams 1984
Algorithm type:sculpturingPosition in process:manufactureAlgorithm type:SculpturingPosition in process:Manufacture
Material:stoneSource type:ethnographicMaterial:StoneSource type:Ethnographic
Source chronology:
@@ -811,15 +809,15 @@

Algorithms:

- + - - + + - - + + @@ -844,6 +842,7 @@

Algorithms:



+Aurenche 1981 46
Source info:Abrams 1994, 49Also cited in:NoneAlso cited in:
Algorithm type:plaster productionPosition in process:procurementAlgorithm type:Plaster ProductionPosition in process:Procurement
Material:plasterSource type:ethnographicMaterial:PlasterSource type:Ethnographic
Source chronology:
@@ -855,8 +854,8 @@

Algorithms:

@@ -876,12 +875,12 @@

Algorithms:

- - + + - - + + @@ -906,6 +905,7 @@

Algorithms:



+ Aurenche 1981 54
- + @@ -866,7 +865,7 @@

Algorithms:

- +
hours in hr Thermic difference in Celciushours in hr
Remaining thermic difference in Celcius
Also cited in:Doat 1979
Algorithm type:material qualitiesPosition in process:materialsAlgorithm type:Material QualitiesPosition in process:Materials
Material:mudbrickSource type:experimental archaeologyMaterial:MudbrickSource type:Experimental Archaeology
Source chronology:modern
@@ -921,23 +921,23 @@

Algorithms:

- - + +
day
Source info:Aurenche 1981, 54 - Also cited in:None + Also cited in: - Algorithm type:wall building - Position in process:construction + Algorithm type:Wall Building + Position in process:Construction - Material:pise' - Source type:experimental archaeology + Material:Pise' + Source type:Experimental Archaeology Source chronology:modern @@ -962,6 +962,7 @@

Algorithms:



+ Aurenche 1981 66 @@ -985,15 +986,15 @@

Algorithms:

- + - - + + - - + + @@ -1018,6 +1019,7 @@

Algorithms:



+Buccellati 2016 108
Source info:Aurenche 1981, 66Also cited in:NoneAlso cited in:
Algorithm type:mudbrickPosition in process:materialsAlgorithm type:MudbrickPosition in process:Materials
Material:mudbrickSource type:ethnographicMaterial:MudbrickSource type:Ethnographic
Source chronology:
@@ -1041,15 +1043,15 @@

Algorithms:

- + - - + + - - + + @@ -1074,6 +1076,7 @@

Algorithms:



+ Buccellati 2016 109
Source info:Buccellati 2016, 108Also cited in:NoneAlso cited in:
Algorithm type:mudbrickPosition in process:materialsAlgorithm type:MudbrickPosition in process:Materials
Material:mudbrickSource type:ethnographicMaterial:MudbrickSource type:Ethnographic
Source chronology:modern
@@ -1097,15 +1100,15 @@

Algorithms:

- + - - + + - - + + @@ -1130,6 +1133,7 @@

Algorithms:



+Cornerstones 2006 132
Source info:Buccellati 2016, 109Also cited in:NoneAlso cited in:
Algorithm type:mudbrickPosition in process:materialsAlgorithm type:MudbrickPosition in process:Materials
Material:mudbrickSource type:ethnographicMaterial:MudbrickSource type:Ethnographic
Source chronology:Bronze Age
@@ -1153,15 +1157,15 @@

Algorithms:

- + - - + + - - + + @@ -1186,6 +1190,7 @@

Algorithms:



+ Cornerstones 2006 133
Source info:Cornerstones Community Partnerships Staff 2006, 132Also cited in:NoneAlso cited in:
Algorithm type:mudbrickPosition in process:materialsAlgorithm type:MudbrickPosition in process:Materials
Material:mudbrickSource type:ethnographicMaterial:MudbrickSource type:Ethnographic
Source chronology:
@@ -1198,15 +1203,15 @@

Algorithms:

- + - - + + - - + + @@ -1231,6 +1236,7 @@

Algorithms:



+Garner 1984 5
Source info:Cornerstones Community Partnerships Staff 2006, 133Also cited in:NoneAlso cited in:
Algorithm type:plaster productionPosition in process:materialsAlgorithm type:Plaster ProductionPosition in process:Materials
Material:plasterSource type:ethnographicMaterial:PlasterSource type:Ethnographic
Source chronology:
@@ -1254,15 +1260,15 @@

Algorithms:

- + - - + + - - + + @@ -1287,6 +1293,7 @@

Algorithms:



+Heimpel 2009 223
Source info:Garner 1984, 5Also cited in:NoneAlso cited in:
Algorithm type:wall buildingPosition in process:constructionAlgorithm type:Wall BuildingPosition in process:Construction
Material:stoneSource type:ethnographicMaterial:StoneSource type:Ethnographic
Source chronology:modern
@@ -1310,15 +1317,15 @@

Algorithms:

- + - - + + - - + + @@ -1343,6 +1350,7 @@

Algorithms:



+Minke 1994 55
Source info:Heimpel 2009, 223Also cited in:NoneAlso cited in:
Algorithm type:mudbrickPosition in process:materialsAlgorithm type:MudbrickPosition in process:Materials
Material:mudbrickSource type:ethnographicMaterial:MudbrickSource type:Ethnographic
Source chronology:
@@ -1365,16 +1373,16 @@

Algorithms:

- - + + - - + + - - + + @@ -1399,6 +1407,7 @@

Algorithms:



+Robson 1999 67
Source info:MinkeG, 55Also cited in:NoneSource info:MinkeG 1994, 55Also cited in:
Algorithm type:mudbrickPosition in process:materialsAlgorithm type:MudbrickPosition in process:Materials
Material:mudbrickSource type:ethnographicMaterial:MudbrickSource type:Ethnographic
Source chronology:
@@ -1431,12 +1440,12 @@

Algorithms:

- - + + - - + + @@ -1461,6 +1470,7 @@

Algorithms:



+Wulff 1966 126
Also cited in:Heimpel 2009, 67-69
Algorithm type:mudbrickPosition in process:constructionAlgorithm type:MudbrickPosition in process:Construction
Material:mortarSource type:textMaterial:MortarSource type:Text
Source chronology:bronze age
@@ -1473,15 +1483,15 @@

Algorithms:

- + - - + + - - + + @@ -1505,6 +1515,6 @@

Algorithms:

Source info:Wulff 1966, 126Also cited in:NoneAlso cited in:
Algorithm type:plaster productionPosition in process:materialsAlgorithm type:Plaster ProductionPosition in process:Materials
Material:plasterSource type:ethnographicMaterial:PlasterSource type:Ethnographic
Source chronology:


-
+
- + \ No newline at end of file diff --git a/docs/algorithms/algorithm_materials.html b/docs/algorithms/algorithm_materials.html index 074a716..6f5beb3 100644 --- a/docs/algorithms/algorithm_materials.html +++ b/docs/algorithms/algorithm_materials.html @@ -17,37 +17,19 @@

Algorithms by Bibliography

Algorithms by Material

Algorithms:

-Abrams 1994 47 1 - -Abrams 1994 47 3 - -Robson 1999 67 - -Aurenche 1981 46 - -Aurenche 1981 66 - -Buccellati 2016 108 - -Buccellati 2016 109 - -Cornerstones 2006 132 - -Heimpel 2009 223 - -Minke 1994 55 - -Aurenche 1981 54 - -Abrams 1994 49 3 - -Cornerstones 2006 133 - -Wulff 1966 126 - -Abrams 1994 45 1 - -Abrams 1994 45 2 - -Abrams 1994 46 1 - -Abrams 1994 46 2 - -Abrams 1994 46 3 - -Abrams 1994 47 2 - -Abrams 1994 48 1 - -Abrams 1994 48 2 - -Abrams 1994 48 3 - -Abrams 1994 49 1 - -Abrams 1994 49 2 - -Garner 1984 5 + +earth + - mortar + - mudbrick + - pise' + - plaster + - stone


+ Abrams 1994 47 1 @@ -74,12 +56,12 @@

Algorithms:

- - + + - - + + @@ -104,6 +86,7 @@

Algorithms:



+ Abrams 1994 47 3
Also cited in:Erasmus 1965, 47
Algorithm type:earth diggingPosition in process:procurementAlgorithm type:Earth DiggingPosition in process:Procurement
Material:earthSource type:ethnographicMaterial:EarthSource type:Ethnographic
Source chronology:
@@ -142,11 +125,11 @@

Algorithms:

- - + + - + @@ -172,6 +155,7 @@

Algorithms:



+Robson 1999 67
Also cited in:AabergBonsignore 1975, 47
Algorithm type:transportPosition in process:transportAlgorithm type:TransportPosition in process:Transport
Material:earthMaterial:Earth Source type:
@@ -204,12 +188,12 @@

Algorithms:

- - + + - - + + @@ -234,6 +218,7 @@

Algorithms:



+Aurenche 1981 46
Also cited in:Heimpel 2009, 67-69
Algorithm type:mudbrickPosition in process:constructionAlgorithm type:MudbrickPosition in process:Construction
Material:mortarSource type:textMaterial:MortarSource type:Text
Source chronology:bronze age
@@ -245,8 +230,8 @@

Algorithms:

@@ -266,12 +251,12 @@

Algorithms:

- - + + - - + + @@ -296,6 +281,7 @@

Algorithms:



+ Aurenche 1981 66
- + @@ -256,7 +241,7 @@

Algorithms:

- +
hours in hr Thermic difference in Celciushours in hr
Remaining thermic difference in Celcius
Also cited in:Doat 1979
Algorithm type:material qualitiesPosition in process:materialsAlgorithm type:Material QualitiesPosition in process:Materials
Material:mudbrickSource type:experimental archaeologyMaterial:MudbrickSource type:Experimental Archaeology
Source chronology:modern
@@ -319,15 +305,15 @@

Algorithms:

- + - - + + - - + + @@ -352,6 +338,7 @@

Algorithms:



+ Buccellati 2016 108
Source info:Aurenche 1981, 66Also cited in:NoneAlso cited in:
Algorithm type:mudbrickPosition in process:materialsAlgorithm type:MudbrickPosition in process:Materials
Material:mudbrickSource type:ethnographicMaterial:MudbrickSource type:Ethnographic
Source chronology:
@@ -375,15 +362,15 @@

Algorithms:

- + - - + + - - + + @@ -408,6 +395,7 @@

Algorithms:



+ Buccellati 2016 109
Source info:Buccellati 2016, 108Also cited in:NoneAlso cited in:
Algorithm type:mudbrickPosition in process:materialsAlgorithm type:MudbrickPosition in process:Materials
Material:mudbrickSource type:ethnographicMaterial:MudbrickSource type:Ethnographic
Source chronology:modern
@@ -431,15 +419,15 @@

Algorithms:

- + - - + + - - + + @@ -464,6 +452,7 @@

Algorithms:



+ Cornerstones 2006 132
Source info:Buccellati 2016, 109Also cited in:NoneAlso cited in:
Algorithm type:mudbrickPosition in process:materialsAlgorithm type:MudbrickPosition in process:Materials
Material:mudbrickSource type:ethnographicMaterial:MudbrickSource type:Ethnographic
Source chronology:Bronze Age
@@ -487,15 +476,15 @@

Algorithms:

- + - - + + - - + + @@ -520,6 +509,7 @@

Algorithms:



+ Heimpel 2009 223
Source info:Cornerstones Community Partnerships Staff 2006, 132Also cited in:NoneAlso cited in:
Algorithm type:mudbrickPosition in process:materialsAlgorithm type:MudbrickPosition in process:Materials
Material:mudbrickSource type:ethnographicMaterial:MudbrickSource type:Ethnographic
Source chronology:
@@ -543,15 +533,15 @@

Algorithms:

- + - - + + - - + + @@ -576,6 +566,7 @@

Algorithms:



+ Minke 1994 55
Source info:Heimpel 2009, 223Also cited in:NoneAlso cited in:
Algorithm type:mudbrickPosition in process:materialsAlgorithm type:MudbrickPosition in process:Materials
Material:mudbrickSource type:ethnographicMaterial:MudbrickSource type:Ethnographic
Source chronology:
@@ -598,16 +589,16 @@

Algorithms:

- - + + - - + + - - + + @@ -632,6 +623,7 @@

Algorithms:



+Aurenche 1981 54
Source info:MinkeG, 55Also cited in:NoneSource info:MinkeG 1994, 55Also cited in:
Algorithm type:mudbrickPosition in process:materialsAlgorithm type:MudbrickPosition in process:Materials
Material:mudbrickSource type:ethnographicMaterial:MudbrickSource type:Ethnographic
Source chronology:
@@ -647,23 +639,23 @@

Algorithms:

- - + +
day
Source info:Aurenche 1981, 54 - Also cited in:None + Also cited in: - Algorithm type:wall building - Position in process:construction + Algorithm type:Wall Building + Position in process:Construction - Material:pise' - Source type:experimental archaeology + Material:Pise' + Source type:Experimental Archaeology Source chronology:modern @@ -688,6 +680,7 @@

Algorithms:



+ Abrams 1994 49 3 @@ -711,15 +704,15 @@

Algorithms:

- + - - + + - - + + @@ -744,6 +737,7 @@

Algorithms:



+ Cornerstones 2006 133
Source info:Abrams 1994, 49Also cited in:NoneAlso cited in:
Algorithm type:plaster productionPosition in process:procurementAlgorithm type:Plaster ProductionPosition in process:Procurement
Material:plasterSource type:ethnographicMaterial:PlasterSource type:Ethnographic
Source chronology:
@@ -756,15 +750,15 @@

Algorithms:

- + - - + + - - + + @@ -789,6 +783,7 @@

Algorithms:



+ Wulff 1966 126
Source info:Cornerstones Community Partnerships Staff 2006, 133Also cited in:NoneAlso cited in:
Algorithm type:plaster productionPosition in process:materialsAlgorithm type:Plaster ProductionPosition in process:Materials
Material:plasterSource type:ethnographicMaterial:PlasterSource type:Ethnographic
Source chronology:
@@ -801,15 +796,15 @@

Algorithms:

- + - - + + - - + + @@ -834,6 +829,7 @@

Algorithms:



+Abrams 1994 45 1
Source info:Wulff 1966, 126Also cited in:NoneAlso cited in:
Algorithm type:plaster productionPosition in process:materialsAlgorithm type:Plaster ProductionPosition in process:Materials
Material:plasterSource type:ethnographicMaterial:PlasterSource type:Ethnographic
Source chronology:
@@ -857,15 +853,15 @@

Algorithms:

- + - - + + - - + + @@ -890,6 +886,7 @@

Algorithms:



+ Abrams 1994 45 2
Source info:Abrams 1994, 45Also cited in:NoneAlso cited in:
Algorithm type:quarrying tuffPosition in process:procurementAlgorithm type:Quarrying TuffPosition in process:Procurement
Material:stoneSource type:ethnographicMaterial:StoneSource type:Ethnographic
Source chronology:
@@ -913,15 +910,15 @@

Algorithms:

- + - - + + - - + + @@ -946,6 +943,7 @@

Algorithms:



+ Abrams 1994 46 1
Source info:Abrams 1994, 45Also cited in:NoneAlso cited in:
Algorithm type:quarrying tuffPosition in process:procurementAlgorithm type:Quarrying TuffPosition in process:Procurement
Material:stoneSource type:ethnographicMaterial:StoneSource type:Ethnographic
Source chronology:
@@ -969,15 +967,15 @@

Algorithms:

- + - - + + - - + + @@ -1002,6 +1000,7 @@

Algorithms:



+ Abrams 1994 46 2
Source info:Abrams 1994, 46Also cited in:NoneAlso cited in:
Algorithm type:quarrying tuffPosition in process:procurementAlgorithm type:Quarrying TuffPosition in process:Procurement
Material:stoneSource type:ethnographicMaterial:StoneSource type:Ethnographic
Source chronology:
@@ -1025,15 +1024,15 @@

Algorithms:

- + - - + + - - + + @@ -1058,6 +1057,7 @@

Algorithms:



+ Abrams 1994 46 3
Source info:Abrams 1994, 46Also cited in:NoneAlso cited in:
Algorithm type:quarrying cobblesPosition in process:procurementAlgorithm type:Quarrying CobblesPosition in process:Procurement
Material:stoneSource type:ethnographicMaterial:StoneSource type:Ethnographic
Source chronology:
@@ -1081,15 +1081,15 @@

Algorithms:

- + - - + + - - + + @@ -1114,6 +1114,7 @@

Algorithms:



+ Abrams 1994 47 2
Source info:Abrams 1994, 46Also cited in:NoneAlso cited in:
Algorithm type:material qualitiesPosition in process:materialsAlgorithm type:Material QualitiesPosition in process:Materials
Material:stoneSource type:ethnographicMaterial:StoneSource type:Ethnographic
Source chronology:
@@ -1137,15 +1138,15 @@

Algorithms:

- + - - + + - - + + @@ -1170,6 +1171,7 @@

Algorithms:



+ Abrams 1994 48 1
Source info:Abrams 1994, 47Also cited in:NoneAlso cited in:
Algorithm type:building cobblesPosition in process:constructionAlgorithm type:Building CobblesPosition in process:Construction
Material:stoneSource type:ethnographicMaterial:StoneSource type:Ethnographic
Source chronology:
@@ -1193,15 +1195,15 @@

Algorithms:

- + - - + + - - + + @@ -1226,6 +1228,7 @@

Algorithms:



+ Abrams 1994 48 2
Source info:Abrams 1994, 48Also cited in:NoneAlso cited in:
Algorithm type:toolsPosition in process:toolsAlgorithm type:ToolsPosition in process:Tools
Material:stoneSource type:ethnographicMaterial:StoneSource type:Ethnographic
Source chronology:
@@ -1249,15 +1252,15 @@

Algorithms:

- + - - + + - - + + @@ -1282,6 +1285,7 @@

Algorithms:



+ Abrams 1994 48 3
Source info:Abrams 1994, 48Also cited in:NoneAlso cited in:
Algorithm type:cut masonry blocksPosition in process:procurementAlgorithm type:Cut Masonry BlocksPosition in process:Procurement
Material:stoneSource type:ethnographicMaterial:StoneSource type:Ethnographic
Source chronology:
@@ -1305,15 +1309,15 @@

Algorithms:

- + - - + + - - + + @@ -1338,6 +1342,7 @@

Algorithms:



+ Abrams 1994 49 1
Source info:Abrams 1994, 48Also cited in:NoneAlso cited in:
Algorithm type:cut masonry blocksPosition in process:procurementAlgorithm type:Cut Masonry BlocksPosition in process:Procurement
Material:stoneSource type:ethnographicMaterial:StoneSource type:Ethnographic
Source chronology:
@@ -1364,12 +1369,12 @@

Algorithms:

- - + + - - + + @@ -1394,6 +1399,7 @@

Algorithms:



+ Abrams 1994 49 2
Also cited in:Abrams 1984
Algorithm type:sculpturingPosition in process:manufactureAlgorithm type:SculpturingPosition in process:Manufacture
Material:stoneSource type:ethnographicMaterial:StoneSource type:Ethnographic
Source chronology:
@@ -1420,12 +1426,12 @@

Algorithms:

- - + + - - + + @@ -1450,6 +1456,7 @@

Algorithms:



+ Garner 1984 5
Also cited in:Abrams 1984
Algorithm type:sculpturingPosition in process:manufactureAlgorithm type:SculpturingPosition in process:Manufacture
Material:stoneSource type:ethnographicMaterial:StoneSource type:Ethnographic
Source chronology:
@@ -1473,15 +1480,15 @@

Algorithms:

- + - - + + - - + + @@ -1505,6 +1512,6 @@

Algorithms:

Source info:Garner 1984, 5Also cited in:NoneAlso cited in:
Algorithm type:wall buildingPosition in process:constructionAlgorithm type:Wall BuildingPosition in process:Construction
Material:stoneSource type:ethnographicMaterial:StoneSource type:Ethnographic
Source chronology:modern


-
+
- + \ No newline at end of file diff --git a/docs/algorithms/algorithm_position_in_process.html b/docs/algorithms/algorithm_position_in_process.html index decc1fb..a98d929 100644 --- a/docs/algorithms/algorithm_position_in_process.html +++ b/docs/algorithms/algorithm_position_in_process.html @@ -18,37 +18,19 @@

Algorithms by Step in Process

Algorithms by Step in Process

Algorithms:

-Abrams 1994 47 2 - -Aurenche 1981 54 - -Garner 1984 5 - -Robson 1999 67 - -Abrams 1994 49 1 - -Abrams 1994 49 2 - -Abrams 1994 46 3 - -Aurenche 1981 46 - -Aurenche 1981 66 - -Buccellati 2016 108 - -Buccellati 2016 109 - -Cornerstones 2006 132 - -Cornerstones 2006 133 - -Heimpel 2009 223 - -Minke 1994 55 - -Wulff 1966 126 - -Abrams 1994 45 1 - -Abrams 1994 45 2 - -Abrams 1994 46 1 - -Abrams 1994 46 2 - -Abrams 1994 47 1 - -Abrams 1994 48 2 - -Abrams 1994 48 3 - -Abrams 1994 49 3 - -Abrams 1994 48 1 - -Abrams 1994 47 3 + +construction + - manufacture + - materials + - procurement + - tools + - transport


+ Abrams 1994 47 2 @@ -72,15 +54,15 @@

Algorithms:

- + - - + + - - + + @@ -105,6 +87,7 @@

Algorithms:



+ Aurenche 1981 54
Source info:Abrams 1994, 47Also cited in:NoneAlso cited in:
Algorithm type:building cobblesPosition in process:constructionAlgorithm type:Building CobblesPosition in process:Construction
Material:stoneSource type:ethnographicMaterial:StoneSource type:Ethnographic
Source chronology:
@@ -120,23 +103,23 @@

Algorithms:

- - + +
day
Source info:Aurenche 1981, 54 - Also cited in:None + Also cited in: - Algorithm type:wall building - Position in process:construction + Algorithm type:Wall Building + Position in process:Construction - Material:pise' - Source type:experimental archaeology + Material:Pise' + Source type:Experimental Archaeology Source chronology:modern @@ -161,6 +144,7 @@

Algorithms:



+ Garner 1984 5 @@ -184,15 +168,15 @@

Algorithms:

- + - - + + - - + + @@ -217,6 +201,7 @@

Algorithms:



+ Robson 1999 67
Source info:Garner 1984, 5Also cited in:NoneAlso cited in:
Algorithm type:wall buildingPosition in process:constructionAlgorithm type:Wall BuildingPosition in process:Construction
Material:stoneSource type:ethnographicMaterial:StoneSource type:Ethnographic
Source chronology:modern
@@ -249,12 +234,12 @@

Algorithms:

- - + + - - + + @@ -279,6 +264,7 @@

Algorithms:



+Abrams 1994 49 1
Also cited in:Heimpel 2009, 67-69
Algorithm type:mudbrickPosition in process:constructionAlgorithm type:MudbrickPosition in process:Construction
Material:mortarSource type:textMaterial:MortarSource type:Text
Source chronology:bronze age
@@ -305,12 +291,12 @@

Algorithms:

- - + + - - + + @@ -335,6 +321,7 @@

Algorithms:



+ Abrams 1994 49 2
Also cited in:Abrams 1984
Algorithm type:sculpturingPosition in process:manufactureAlgorithm type:SculpturingPosition in process:Manufacture
Material:stoneSource type:ethnographicMaterial:StoneSource type:Ethnographic
Source chronology:
@@ -361,12 +348,12 @@

Algorithms:

- - + + - - + + @@ -391,6 +378,7 @@

Algorithms:



+Abrams 1994 46 3
Also cited in:Abrams 1984
Algorithm type:sculpturingPosition in process:manufactureAlgorithm type:SculpturingPosition in process:Manufacture
Material:stoneSource type:ethnographicMaterial:StoneSource type:Ethnographic
Source chronology:
@@ -414,15 +402,15 @@

Algorithms:

- + - - + + - - + + @@ -447,6 +435,7 @@

Algorithms:



+ Aurenche 1981 46
Source info:Abrams 1994, 46Also cited in:NoneAlso cited in:
Algorithm type:material qualitiesPosition in process:materialsAlgorithm type:Material QualitiesPosition in process:Materials
Material:stoneSource type:ethnographicMaterial:StoneSource type:Ethnographic
Source chronology:
@@ -458,8 +447,8 @@

Algorithms:

@@ -479,12 +468,12 @@

Algorithms:

- - + + - - + + @@ -509,6 +498,7 @@

Algorithms:



+ Aurenche 1981 66
- + @@ -469,7 +458,7 @@

Algorithms:

- +
hours in hr Thermic difference in Celciushours in hr
Remaining thermic difference in Celcius
Also cited in:Doat 1979
Algorithm type:material qualitiesPosition in process:materialsAlgorithm type:Material QualitiesPosition in process:Materials
Material:mudbrickSource type:experimental archaeologyMaterial:MudbrickSource type:Experimental Archaeology
Source chronology:modern
@@ -532,15 +522,15 @@

Algorithms:

- + - - + + - - + + @@ -565,6 +555,7 @@

Algorithms:



+ Buccellati 2016 108
Source info:Aurenche 1981, 66Also cited in:NoneAlso cited in:
Algorithm type:mudbrickPosition in process:materialsAlgorithm type:MudbrickPosition in process:Materials
Material:mudbrickSource type:ethnographicMaterial:MudbrickSource type:Ethnographic
Source chronology:
@@ -588,15 +579,15 @@

Algorithms:

- + - - + + - - + + @@ -621,6 +612,7 @@

Algorithms:



+ Buccellati 2016 109
Source info:Buccellati 2016, 108Also cited in:NoneAlso cited in:
Algorithm type:mudbrickPosition in process:materialsAlgorithm type:MudbrickPosition in process:Materials
Material:mudbrickSource type:ethnographicMaterial:MudbrickSource type:Ethnographic
Source chronology:modern
@@ -644,15 +636,15 @@

Algorithms:

- + - - + + - - + + @@ -677,6 +669,7 @@

Algorithms:



+ Cornerstones 2006 132
Source info:Buccellati 2016, 109Also cited in:NoneAlso cited in:
Algorithm type:mudbrickPosition in process:materialsAlgorithm type:MudbrickPosition in process:Materials
Material:mudbrickSource type:ethnographicMaterial:MudbrickSource type:Ethnographic
Source chronology:Bronze Age
@@ -700,15 +693,15 @@

Algorithms:

- + - - + + - - + + @@ -733,6 +726,7 @@

Algorithms:



+ Cornerstones 2006 133
Source info:Cornerstones Community Partnerships Staff 2006, 132Also cited in:NoneAlso cited in:
Algorithm type:mudbrickPosition in process:materialsAlgorithm type:MudbrickPosition in process:Materials
Material:mudbrickSource type:ethnographicMaterial:MudbrickSource type:Ethnographic
Source chronology:
@@ -745,15 +739,15 @@

Algorithms:

- + - - + + - - + + @@ -778,6 +772,7 @@

Algorithms:



+ Heimpel 2009 223
Source info:Cornerstones Community Partnerships Staff 2006, 133Also cited in:NoneAlso cited in:
Algorithm type:plaster productionPosition in process:materialsAlgorithm type:Plaster ProductionPosition in process:Materials
Material:plasterSource type:ethnographicMaterial:PlasterSource type:Ethnographic
Source chronology:
@@ -801,15 +796,15 @@

Algorithms:

- + - - + + - - + + @@ -834,6 +829,7 @@

Algorithms:



+ Minke 1994 55
Source info:Heimpel 2009, 223Also cited in:NoneAlso cited in:
Algorithm type:mudbrickPosition in process:materialsAlgorithm type:MudbrickPosition in process:Materials
Material:mudbrickSource type:ethnographicMaterial:MudbrickSource type:Ethnographic
Source chronology:
@@ -856,16 +852,16 @@

Algorithms:

- - + + - - + + - - + + @@ -890,6 +886,7 @@

Algorithms:



+ Wulff 1966 126
Source info:MinkeG, 55Also cited in:NoneSource info:MinkeG 1994, 55Also cited in:
Algorithm type:mudbrickPosition in process:materialsAlgorithm type:MudbrickPosition in process:Materials
Material:mudbrickSource type:ethnographicMaterial:MudbrickSource type:Ethnographic
Source chronology:
@@ -902,15 +899,15 @@

Algorithms:

- + - - + + - - + + @@ -935,6 +932,7 @@

Algorithms:



+Abrams 1994 45 1
Source info:Wulff 1966, 126Also cited in:NoneAlso cited in:
Algorithm type:plaster productionPosition in process:materialsAlgorithm type:Plaster ProductionPosition in process:Materials
Material:plasterSource type:ethnographicMaterial:PlasterSource type:Ethnographic
Source chronology:
@@ -958,15 +956,15 @@

Algorithms:

- + - - + + - - + + @@ -991,6 +989,7 @@

Algorithms:



+ Abrams 1994 45 2
Source info:Abrams 1994, 45Also cited in:NoneAlso cited in:
Algorithm type:quarrying tuffPosition in process:procurementAlgorithm type:Quarrying TuffPosition in process:Procurement
Material:stoneSource type:ethnographicMaterial:StoneSource type:Ethnographic
Source chronology:
@@ -1014,15 +1013,15 @@

Algorithms:

- + - - + + - - + + @@ -1047,6 +1046,7 @@

Algorithms:



+ Abrams 1994 46 1
Source info:Abrams 1994, 45Also cited in:NoneAlso cited in:
Algorithm type:quarrying tuffPosition in process:procurementAlgorithm type:Quarrying TuffPosition in process:Procurement
Material:stoneSource type:ethnographicMaterial:StoneSource type:Ethnographic
Source chronology:
@@ -1070,15 +1070,15 @@

Algorithms:

- + - - + + - - + + @@ -1103,6 +1103,7 @@

Algorithms:



+ Abrams 1994 46 2
Source info:Abrams 1994, 46Also cited in:NoneAlso cited in:
Algorithm type:quarrying tuffPosition in process:procurementAlgorithm type:Quarrying TuffPosition in process:Procurement
Material:stoneSource type:ethnographicMaterial:StoneSource type:Ethnographic
Source chronology:
@@ -1126,15 +1127,15 @@

Algorithms:

- + - - + + - - + + @@ -1159,6 +1160,7 @@

Algorithms:



+ Abrams 1994 47 1
Source info:Abrams 1994, 46Also cited in:NoneAlso cited in:
Algorithm type:quarrying cobblesPosition in process:procurementAlgorithm type:Quarrying CobblesPosition in process:Procurement
Material:stoneSource type:ethnographicMaterial:StoneSource type:Ethnographic
Source chronology:
@@ -1185,12 +1187,12 @@

Algorithms:

- - + + - - + + @@ -1215,6 +1217,7 @@

Algorithms:



+ Abrams 1994 48 2
Also cited in:Erasmus 1965, 47
Algorithm type:earth diggingPosition in process:procurementAlgorithm type:Earth DiggingPosition in process:Procurement
Material:earthSource type:ethnographicMaterial:EarthSource type:Ethnographic
Source chronology:
@@ -1238,15 +1241,15 @@

Algorithms:

- + - - + + - - + + @@ -1271,6 +1274,7 @@

Algorithms:



+ Abrams 1994 48 3
Source info:Abrams 1994, 48Also cited in:NoneAlso cited in:
Algorithm type:cut masonry blocksPosition in process:procurementAlgorithm type:Cut Masonry BlocksPosition in process:Procurement
Material:stoneSource type:ethnographicMaterial:StoneSource type:Ethnographic
Source chronology:
@@ -1294,15 +1298,15 @@

Algorithms:

- + - - + + - - + + @@ -1327,6 +1331,7 @@

Algorithms:



+ Abrams 1994 49 3
Source info:Abrams 1994, 48Also cited in:NoneAlso cited in:
Algorithm type:cut masonry blocksPosition in process:procurementAlgorithm type:Cut Masonry BlocksPosition in process:Procurement
Material:stoneSource type:ethnographicMaterial:StoneSource type:Ethnographic
Source chronology:
@@ -1350,15 +1355,15 @@

Algorithms:

- + - - + + - - + + @@ -1383,6 +1388,7 @@

Algorithms:



+Abrams 1994 48 1
Source info:Abrams 1994, 49Also cited in:NoneAlso cited in:
Algorithm type:plaster productionPosition in process:procurementAlgorithm type:Plaster ProductionPosition in process:Procurement
Material:plasterSource type:ethnographicMaterial:PlasterSource type:Ethnographic
Source chronology:
@@ -1406,15 +1412,15 @@

Algorithms:

- + - - + + - - + + @@ -1439,6 +1445,7 @@

Algorithms:



+Abrams 1994 47 3
Source info:Abrams 1994, 48Also cited in:NoneAlso cited in:
Algorithm type:toolsPosition in process:toolsAlgorithm type:ToolsPosition in process:Tools
Material:stoneSource type:ethnographicMaterial:StoneSource type:Ethnographic
Source chronology:
@@ -1477,11 +1484,11 @@

Algorithms:

- - + + - + @@ -1506,6 +1513,6 @@

Algorithms:

Also cited in:AabergBonsignore 1975, 47
Algorithm type:transportPosition in process:transportAlgorithm type:TransportPosition in process:Transport
Material:earthMaterial:Earth Source type:


-
+
- + \ No newline at end of file diff --git a/docs/algorithms/algorithm_type.html b/docs/algorithms/algorithm_type.html index 3246e36..d18f9ce 100644 --- a/docs/algorithms/algorithm_type.html +++ b/docs/algorithms/algorithm_type.html @@ -17,87 +17,75 @@

Algorithms by

Algorithms by Type

Algorithms by Type

Algorithms:

-
-Abrams 1994 45 1 - -Abrams 1994 45 2 - -Abrams 1994 46 1 - -Abrams 1994 46 2 - -Abrams 1994 46 3 - -Abrams 1994 47 1 - -Abrams 1994 47 2 - -Abrams 1994 47 3 - -Abrams 1994 48 1 - -Abrams 1994 48 2 - -Abrams 1994 48 3 - -Abrams 1994 49 1 - -Abrams 1994 49 2 - -Abrams 1994 49 3 - -Aurenche 1981 46 - -Aurenche 1981 54 - -Aurenche 1981 66 - -Buccellati 2016 108 - -Buccellati 2016 109 - -Cornerstones 2006 132 - -Cornerstones 2006 133 - -Garner 1984 5 - -Heimpel 2009 223 - -Minke 1994 55 - -Robson 1999 67 - -Wulff 1966 126 +
+ +building cobbles + - cut masonry blocks + - earth digging + - material qualities + - mudbrick + - plaster production + - quarrying cobbles + - quarrying tuff + - sculpturing + - tools + - transport + - wall building


- -Abrams 1994 45 1 + + +Abrams 1994 47 2 - - + + - - + + - - + + - - + + - + - + - + @@ -105,55 +93,56 @@

Algorithms:



- -Abrams 1994 45 2 + + +Abrams 1994 48 2
Al Statement:Stone quarrying using stone toolsAl Math:1 p-h to quarry 200kg unworked stone with stone toolsAl Statement:Percentage of cobbles in fillAl Math:Cobble fill contains 1:2 cobbles to earth (v1 is cobbles, v2 earth)
- - + + - - + +
p-hkgm3m3
Source info:Abrams 1994, 45Also cited in:NoneSource info:Abrams 1994, 47Also cited in:
Algorithm type:quarrying tuffPosition in process:procurementAlgorithm type:Building CobblesPosition in process:Construction
Material:stoneSource type:ethnographicMaterial:StoneSource type:Ethnographic
Source chronology: Source geography:Mesoamerica
Notes:Figure based on experiment over 5 hour workday. Figure adjusted for stone tools by author.Notes:Range varies widely, Abrams gives an average but cites two examples where cobbles are 47% and 24%.
Notes on bibliography:
How to cite:EnCAB alg. - Abrams_1994_45_1How to cite:EnCAB alg. - Abrams_1994_47_2 Created by/on:Buccellati F., 30.02.2018
Input data:Abrams_1994_45_1.xmlInput data:Abrams_1994_47_2.xml Modified by/on:
- - + + - - + + - - + + - - + + - + - + - + @@ -161,55 +150,56 @@

Algorithms:



- -Abrams 1994 46 1 + + +Abrams 1994 48 3
Al Statement:Stone quarrying using stone toolsAl Math:1 p-h to quarry 102kg unworked stone with stone toolsAl Statement:Working tuff blocksAl Math:Facing tuff into masonry blocks: 1 m3 in 11.6 p-d
+ - - - + +
m3 p-hkg
Source info:Abrams 1994, 45Also cited in:NoneSource info:Abrams 1994, 48Also cited in:
Algorithm type:quarrying tuffPosition in process:procurementAlgorithm type:Cut Masonry BlocksPosition in process:Procurement
Material:stoneSource type:ethnographicMaterial:StoneSource type:Ethnographic
Source chronology: Source geography:Mesoamerica
Notes:Figure based on interview with quarry supervisor.Notes:Based on experimentation in Copan River area, using stone tools. Algorithm is given as taking 11.6 p-d, I assume 5 p-h = 1 p-d as per other examples in the same chapter.
Notes on bibliography:
How to cite:EnCAB alg. - Abrams_1994_45_2How to cite:EnCAB alg. - Abrams_1994_48_2 Created by/on:Buccellati F., 30.02.2018
Input data:Abrams_1994_45_2.xmlInput data:Abrams_1994_48_2.xml Modified by/on:
- - + + - - + + - - + + - - + + - + - + - + @@ -217,55 +207,56 @@

Algorithms:



- -Abrams 1994 46 2 + + +Abrams 1994 47 1
Al Statement:Amount of wastage when making masonry blocksAl Math:Amount of wastage when making masonry blocks from rough stone: 45% (v1 is original amount of rough stone, v2 is finished masonry blocks)Al Statement:Facing cobblesAl Math:Facing cobbles: 1 m3 in 1.16 p-d
- - + + - - + +
kgkgm3p-h
Source info:Abrams 1994, 46Also cited in:NoneSource info:Abrams 1994, 48Also cited in:
Algorithm type:quarrying tuffPosition in process:procurementAlgorithm type:Cut Masonry BlocksPosition in process:Procurement
Material:stoneSource type:ethnographicMaterial:StoneSource type:Ethnographic
Source chronology: Source geography:Mesoamerica
Notes:Notes:Based on experimentation in Copan River area, using stone tools. Algorithm is given as taking 1.16 p-d, I assume 5 p-h = 1 p-d as per other examples in the same chapter.
Notes on bibliography:
How to cite:EnCAB alg. - Abrams_1994_46_1How to cite:EnCAB alg. - Abrams_1994_48_3 Created by/on:Buccellati F., 30.02.2018
Input data:Abrams_1994_46_1.xmlInput data:Abrams_1994_48_3.xml Modified by/on:
- - + + - - + + - - + + - - + + - + - + - + - + - + @@ -273,6 +264,7 @@

Algorithms:



+Abrams 1994 46 3
Al Statement:Collecting cobblesAl Math:collecting cobbles from a natural accumulation (900kg x p-h)Al Statement:Excavating earthAl Math:1 man excavated 2.6 cubic meters in 5 hours
- + - - + +
kgm3 p-h
Source info:Abrams 1994, 46Also cited in:NoneSource info:Abrams 1994, 47Also cited in:Erasmus 1965, 47
Algorithm type:quarrying cobblesPosition in process:procurementAlgorithm type:Earth DiggingPosition in process:Procurement
Material:stoneSource type:ethnographicMaterial:EarthSource type:Ethnographic
Source chronology:Source geography:MesoamericaSource geography:
Notes:Collection experiment along Copan River.Notes:
Notes on bibliography:Notes on bibliography:original formula from Erasmus_1965_285
How to cite:EnCAB alg. - Abrams_1994_46_2How to cite:EnCAB alg. - Abrams_1994_47_1 Created by/on:Buccellati F., 30.02.2018
Input data:Abrams_1994_46_2.xmlInput data:Abrams_1994_47_1.xml Modified by/on:
@@ -296,15 +288,15 @@

Algorithms:

- + - - + + - - + + @@ -329,55 +321,62 @@

Algorithms:



- -Abrams 1994 47 1 + + +Aurenche 1981 46
Source info:Abrams 1994, 46Also cited in:NoneAlso cited in:
Algorithm type:material qualitiesPosition in process:materialsAlgorithm type:Material QualitiesPosition in process:Materials
Material:stoneSource type:ethnographicMaterial:StoneSource type:Ethnographic
Source chronology:
- - + + - - + + - - + + - - + + - - + + - + - + - + - + @@ -385,55 +384,56 @@

Algorithms:



- -Abrams 1994 47 2 + + +Aurenche 1981 66
Al Statement:Excavating earthAl Math:1 man excavated 2.6 cubic meters in 5 hoursAl Statement:a 40cm thick mudbrick wall holds a thermic difference for 12 hours (after which temperature on both sides are equal).Al Math:Thermic difference is reduced by 1/12 every hour for a 40cm thick mudbrick wall.
- - + + - - + + + + + + + +
m3p-hThermic difference in Celciushours in hr
Remaining thermic difference in Celcius
Source info:Abrams 1994, 47Also cited in:Erasmus 1965, 47Source info:Aurenche 1981, 46Also cited in:Doat 1979
Algorithm type:earth diggingPosition in process:procurementAlgorithm type:Material QualitiesPosition in process:Materials
Material:earthSource type:ethnographicMaterial:MudbrickSource type:Experimental Archaeology
Source chronology:Source geography:Source chronology:modernSource geography:ANE
Notes:Notes:The values provided are for a set wall thickness; double or half thicknesses would not necessarily double or halve the thermic property of the material. The usefulness of this algorithm is limited, as the presence of windows, doors or the type of roofing would affect temperature to a much larger degree than the walls themselves. It is included here to show the quality of mudbricks as a building material, and may be useful in comparison with the thermic properties of other building materials.
Notes on bibliography:original formula from Erasmus_1965_285Notes on bibliography:
How to cite:EnCAB alg. - Abrams_1994_47_1How to cite:EnCAB alg. - Aurenche_1981_46 Created by/on:Buccellati F., 30.02.2018
Input data:Abrams_1994_47_1.xmlInput data:Aurenche_1981_46.xml Modified by/on:
- - + + - - + + - - + + - - + + - + - + - + - + @@ -441,67 +441,56 @@

Algorithms:



- -Abrams 1994 47 3 + + +Buccellati 2016 108
Al Statement:Percentage of cobbles in fillAl Math:Cobble fill contains 1:2 cobbles to earth (v1 is cobbles, v2 earth)Al Statement:350 mudbricks can be made per person per day.Al Math:350 bricks in 1 day
- - + + - - + +
m3m3daybrick
Source info:Abrams 1994, 47Also cited in:NoneSource info:Aurenche 1981, 66Also cited in:
Algorithm type:building cobblesPosition in process:constructionAlgorithm type:MudbrickPosition in process:Materials
Material:stoneSource type:ethnographicMaterial:MudbrickSource type:Ethnographic
Source chronology:Source geography:MesoamericaSource geography:ANE
Notes:Range varies widely, Abrams gives an average but cites two examples where cobbles are 47% and 24%.Notes:
Notes on bibliography:
How to cite:EnCAB alg. - Abrams_1994_47_2How to cite:EnCAB alg. - Aurenche_1981_66 Created by/on:Buccellati F., 30.02.2018
Input data:Abrams_1994_47_2.xmlInput data:Aurenche_1981_66.xml Modified by/on:
- - + + - - + + - - + + - - + + - - + + - + - - + + - + @@ -509,55 +498,56 @@

Algorithms:



- -Abrams 1994 48 1 + + +Buccellati 2016 109
Al Statement:TransportationAl Math:Simplified formula based on ENCAFE_1957_22. Output = Q x (L/v+ L/V') x H.Al Statement:1 cubic meter of new mudbrick weighs 1502 kg.Al Math:1 m3 weighs 1502 kg.
- - - - - - - - - - - - - - - + + - + +
Q in kgL in mV in V' in H in hr
Output in m3m3kg
Source info:Abrams 1994, 47Also cited in:AabergBonsignore 1975, 47Source info:Buccellati 2016, 108Also cited in:
Algorithm type:transportPosition in process:transportAlgorithm type:MudbrickPosition in process:Materials
Material:earthSource type:Material:MudbrickSource type:Ethnographic
Source chronology:Source geography:Source chronology:modernSource geography:ANE
Notes:Output = Q x (L/v+ L/V') x H. Q=quantity of earth per load (in kg), L=transport distance(in m), V=velocity loaded, V'=velocity unloaded, H=hours, Output expressed in m3.Notes:
Notes on bibliography:
How to cite:EnCAB alg. - Abrams_1994_47_3Created by/on:Buccellati F., 30.04.2018How to cite:EnCAB alg. - Buccellati_2016_108Created by/on:Buccellati F., 30.02.2018
Input data:Abrams_1994_47_3.xmlInput data:Buccellati_2016_108.xml Modified by/on:
- - + + - - + + - - + + - - + + - - + + - + - + - + @@ -565,55 +555,56 @@

Algorithms:



- -Abrams 1994 48 2 + + +Cornerstones 2006 132
Al Statement:Stone vs. steel toolsAl Math:Stone tools require 50% more time vs. steel tools .Al Statement:1 cubic meter of mudbrick from excavations weighs 1392 kg.Al Math:1 m3 weighs 1392 kg.
- - + + - - + +
p-hp-hm3kg
Source info:Abrams 1994, 48Also cited in:NoneSource info:Buccellati 2016, 109Also cited in:
Algorithm type:toolsPosition in process:toolsAlgorithm type:MudbrickPosition in process:Materials
Material:stoneSource type:ethnographicMaterial:MudbrickSource type:Ethnographic
Source chronology:Source geography:MesoamericaSource chronology:Bronze AgeSource geography:ANE
Notes:Based on experimentation in Copan River area.Notes:While the chronology here is given as Bronze Age, the fact that the bricks weigh less (see Buccellati_2016_132 for a comparison with new bricks) may be due to the fact that they have been removed (thus excavated) from an archaeological context.
Notes on bibliography:
How to cite:EnCAB alg. - Abrams_1994_48_1How to cite:EnCAB alg. - Buccellati_2016_109 Created by/on:Buccellati F., 30.02.2018
Input data:Abrams_1994_48_1.xmlInput data:Buccellati_2016_109.xml Modified by/on:
- - + + - - + + - - + + - - + + - + - + - + - + @@ -621,55 +612,56 @@

Algorithms:



- -Abrams 1994 48 3 + + +Heimpel 2009 223
Al Statement:Working tuff blocksAl Math:Facing tuff into masonry blocks: 1 m3 in 11.6 p-dAl Statement:Chaff used for bricks 2.5-4 cm in length.Al Math:
- - + + - - + +
m3p-hcmcm
Source info:Abrams 1994, 48Also cited in:NoneSource info:Cornerstones Community Partnerships Staff 2006, 132Also cited in:
Algorithm type:cut masonry blocksPosition in process:procurementAlgorithm type:MudbrickPosition in process:Materials
Material:stoneSource type:ethnographicMaterial:MudbrickSource type:Ethnographic
Source chronology:Source geography:MesoamericaSource geography:
Notes:Based on experimentation in Copan River area, using stone tools. Algorithm is given as taking 11.6 p-d, I assume 5 p-h = 1 p-d as per other examples in the same chapter.Notes:Chaff used for bricks 2.5-4 cm in legnth. For mortar chaff needs to be shorter, for plaster longer.
Notes on bibliography:
How to cite:EnCAB alg. - Abrams_1994_48_2How to cite:EnCAB alg. - Cornerstones_2006_132 Created by/on:Buccellati F., 30.02.2018
Input data:Abrams_1994_48_2.xmlInput data:Cornerstones_2006_132.xml Modified by/on:
- - + + - - + + - - + + - - + + - + - + - + - + @@ -677,55 +669,56 @@

Algorithms:



- -Abrams 1994 49 1 + + +Minke 1994 55
Al Statement:Facing cobblesAl Math:Facing cobbles: 1 m3 in 1.16 p-dAl Statement:240 mudbricks can be made per person per day.Al Math:
- - + + - - + +
m3p-hdaybrick
Source info:Abrams 1994, 48Also cited in:NoneSource info:Heimpel 2009, 223Also cited in:
Algorithm type:cut masonry blocksPosition in process:procurementAlgorithm type:MudbrickPosition in process:Materials
Material:stoneSource type:ethnographicMaterial:MudbrickSource type:Ethnographic
Source chronology:Source geography:MesoamericaSource geography:ANE
Notes:Based on experimentation in Copan River area, using stone tools. Algorithm is given as taking 1.16 p-d, I assume 5 p-h = 1 p-d as per other examples in the same chapter.Notes:
Notes on bibliography:
How to cite:EnCAB alg. - Abrams_1994_48_3How to cite:EnCAB alg. - Heimpel_2009_223 Created by/on:Buccellati F., 30.02.2018
Input data:Abrams_1994_48_3.xmlInput data:Heimpel_2009_223.xml Modified by/on:
- - + + - - + + - - + + - - + + - + - + - + - + @@ -733,55 +726,62 @@

Algorithms:



- -Abrams 1994 49 2 + + +Robson 1999 67
Al Statement:Sculpting stone (simple)Al Math:Scultor carving simple motifs onto stone (measured in carved surface area)Al Statement:240 mudbricks can be made per person per day.Al Math:
- - + + - - + +
cm2p-hdaybrick
Source info:Abrams 1994, 49Also cited in:Abrams 1984Source info:MinkeG 1994, 55Also cited in:
Algorithm type:sculpturingPosition in process:manufactureAlgorithm type:MudbrickPosition in process:Materials
Material:stoneSource type:ethnographicMaterial:MudbrickSource type:Ethnographic
Source chronology:Source geography:MesoamericaSource geography:
Notes:
Notes on bibliography:See also Abrams_1994_44. bi - Abrams 1984 given as Abrams 1984b in Abrams 1994.Notes on bibliography:
How to cite:EnCAB alg. - Abrams_1994_49_1How to cite:EnCAB alg. - Minke_1994_55 Created by/on:Buccellati F., 30.02.2018
Input data:Abrams_1994_49_1.xmlInput data:Minke_1994_55.xml Modified by/on:
- - + + - - + + - - + + - - + + - - + + - + - + - + @@ -789,6 +789,7 @@

Algorithms:



+Abrams 1994 49 3
Al Statement:Sculpting stone (complex)Al Math:Scultor carving complex motifs onto stone (measured in carved surface area)Al Statement:1/6 of the volume of a mudbrick wall consists of mortarAl Math:m3 * 5/6 = volume of mudbricks
- - + + - - + + + + + + + +
cm2p-hwall volume in m3mortar in m3
mudbricks in wall volume in m3
Source info:Abrams 1994, 49Also cited in:Abrams 1984Source info:Robson 1999, 67-69Also cited in:Heimpel 2009, 67-69
Algorithm type:sculpturingPosition in process:manufactureAlgorithm type:MudbrickPosition in process:Construction
Material:stoneSource type:ethnographicMaterial:MortarSource type:Text
Source chronology:Source geography:MesoamericaSource chronology:bronze ageSource geography:ANE
Notes:
Notes on bibliography:See also Abrams_1994_44. bi - Abrams 1984 given as Abrams 1984b in Abrams 1994.Notes on bibliography:
How to cite:EnCAB alg. - Abrams_1994_49_2How to cite:EnCAB alg. - Robson_1999_67 Created by/on:Buccellati F., 30.02.2018
Input data:Abrams_1994_49_2.xmlInput data:Robson_1999_67.xml Modified by/on:
@@ -812,15 +813,15 @@

Algorithms:

- + - - + + - - + + @@ -845,61 +846,45 @@

Algorithms:



- -Aurenche 1981 46 + + +Cornerstones 2006 133
Source info:Abrams 1994, 49Also cited in:NoneAlso cited in:
Algorithm type:plaster productionPosition in process:procurementAlgorithm type:Plaster ProductionPosition in process:Procurement
Material:plasterSource type:ethnographicMaterial:PlasterSource type:Ethnographic
Source chronology:
- - + + - + - - + + - - + + - - + + - - + + - + - + - + @@ -907,55 +892,45 @@

Algorithms:



- -Aurenche 1981 54 + + +Wulff 1966 126
Al Statement:a 40cm thick mudbrick wall holds a thermic difference for 12 hours (after which temperature on both sides are equal).Al Math:Thermic difference is reduced by 1/12 every hour for a 40cm thick mudbrick wall.Al Statement:Production of lime requires a heat source of 900 Celcius for 36 hours.Al Math:Lime requires heat of 900 Celcius
- - - - - - - - - - - - - - - -
hours in hrThermic difference in Celcius
Remaining thermic difference in Celcius
-
Source info:Aurenche 1981, 46Also cited in:Doat 1979Source info:Cornerstones Community Partnerships Staff 2006, 133Also cited in:
Algorithm type:material qualitiesPosition in process:materialsAlgorithm type:Plaster ProductionPosition in process:Materials
Material:mudbrickSource type:experimental archaeologyMaterial:PlasterSource type:Ethnographic
Source chronology:modernSource geography:ANESource chronology:Source geography:
Notes:The values provided are for a set wall thickness; double or half thicknesses would not necessarily double or halve the thermic property of the material. The usefulness of this algorithm is limited, as the presence of windows, doors or the type of roofing would affect temperature to a much larger degree than the walls themselves. It is included here to show the quality of mudbricks as a building material, and may be useful in comparison with the thermic properties of other building materials.Notes:See Cornerstones Community Partnerships 2006 p.132 for gypsum as a parallel.
Notes on bibliography:
How to cite:EnCAB alg. - Aurenche_1981_46How to cite:EnCAB alg. - Cornerstones_2006_133 Created by/on:Buccellati F., 30.02.2018
Input data:Aurenche_1981_46.xmlInput data:Cornerstones_2006_133.xml Modified by/on:
- - + + - + - - + + - - + + - - + + - - + + - + - + - + @@ -963,55 +938,56 @@

Algorithms:



- -Aurenche 1981 66 + + +Abrams 1994 46 2
Al Statement:A pise' wall needs 3-5 days drying time for each section, which is 30-50cm in height.Al Math:Al Statement:Production of gypsum requires a heat source of 100-200 Celcius.Al Math:Gypsum requires heat of 100-200 Celcius
- - - - - - - - - -
section height in cmday
-
Source info:Aurenche 1981, 54Also cited in:NoneSource info:Wulff 1966, 126Also cited in:
Algorithm type:wall buildingPosition in process:constructionAlgorithm type:Plaster ProductionPosition in process:Materials
Material:pise'Source type:experimental archaeologyMaterial:PlasterSource type:Ethnographic
Source chronology:modernSource geography:ANESource chronology:Source geography:
Notes:A middle value was used for the algorithm, 4 days drying time for 40cm wall height.Notes:Average of 150 used.
Notes on bibliography:
How to cite:EnCAB alg. - Aurenche_1981_54How to cite:EnCAB alg. - Wulff_1966_126 Created by/on:Buccellati F., 30.02.2018
Input data:Aurenche_1981_54.xmlInput data:Wulff_1966_126.xml Modified by/on:
- - + + - - + + - - + + - - + + - + - + - + - + @@ -1019,55 +995,56 @@

Algorithms:



- -Buccellati 2016 108 + + +Abrams 1994 45 1
Al Statement:350 mudbricks can be made per person per day.Al Math:350 bricks in 1 dayAl Statement:Collecting cobblesAl Math:collecting cobbles from a natural accumulation (900kg x p-h)
- - + + - - + +
daybrickkgp-h
Source info:Aurenche 1981, 66Also cited in:NoneSource info:Abrams 1994, 46Also cited in:
Algorithm type:mudbrickPosition in process:materialsAlgorithm type:Quarrying CobblesPosition in process:Procurement
Material:mudbrickSource type:ethnographicMaterial:StoneSource type:Ethnographic
Source chronology:Source geography:ANESource geography:Mesoamerica
Notes:Notes:Collection experiment along Copan River.
Notes on bibliography:
How to cite:EnCAB alg. - Aurenche_1981_66How to cite:EnCAB alg. - Abrams_1994_46_2 Created by/on:Buccellati F., 30.02.2018
Input data:Aurenche_1981_66.xmlInput data:Abrams_1994_46_2.xml Modified by/on:
- - + + - - + + - - + + - - + + - - + + - + - + - + @@ -1075,55 +1052,56 @@

Algorithms:



- -Buccellati 2016 109 + + +Abrams 1994 45 2
Al Statement:1 cubic meter of new mudbrick weighs 1502 kg.Al Math:1 m3 weighs 1502 kg.Al Statement:Stone quarrying using stone toolsAl Math:1 p-h to quarry 200kg unworked stone with stone tools
- + - - + +
m3p-h kg
Source info:Buccellati 2016, 108Also cited in:NoneSource info:Abrams 1994, 45Also cited in:
Algorithm type:mudbrickPosition in process:materialsAlgorithm type:Quarrying TuffPosition in process:Procurement
Material:mudbrickSource type:ethnographicMaterial:StoneSource type:Ethnographic
Source chronology:modernSource geography:ANESource chronology:Source geography:Mesoamerica
Notes:Notes:Figure based on experiment over 5 hour workday. Figure adjusted for stone tools by author.
Notes on bibliography:
How to cite:EnCAB alg. - Buccellati_2016_108How to cite:EnCAB alg. - Abrams_1994_45_1 Created by/on:Buccellati F., 30.02.2018
Input data:Buccellati_2016_108.xmlInput data:Abrams_1994_45_1.xml Modified by/on:
- - + + - - + + - - + + - - + + - - + + - + - + - + @@ -1131,55 +1109,56 @@

Algorithms:



- -Cornerstones 2006 132 + + +Abrams 1994 46 1
Al Statement:1 cubic meter of mudbrick from excavations weighs 1392 kg.Al Math:1 m3 weighs 1392 kg.Al Statement:Stone quarrying using stone toolsAl Math:1 p-h to quarry 102kg unworked stone with stone tools
- + - - + +
m3p-h kg
Source info:Buccellati 2016, 109Also cited in:NoneSource info:Abrams 1994, 45Also cited in:
Algorithm type:mudbrickPosition in process:materialsAlgorithm type:Quarrying TuffPosition in process:Procurement
Material:mudbrickSource type:ethnographicMaterial:StoneSource type:Ethnographic
Source chronology:Bronze AgeSource geography:ANESource chronology:Source geography:Mesoamerica
Notes:While the chronology here is given as Bronze Age, the fact that the bricks weigh less (see Buccellati_2016_132 for a comparison with new bricks) may be due to the fact that they have been removed (thus excavated) from an archaeological context.Notes:Figure based on interview with quarry supervisor.
Notes on bibliography:
How to cite:EnCAB alg. - Buccellati_2016_109How to cite:EnCAB alg. - Abrams_1994_45_2 Created by/on:Buccellati F., 30.02.2018
Input data:Buccellati_2016_109.xmlInput data:Abrams_1994_45_2.xml Modified by/on:
- - + + - - + + - - + + - - + + - + - + - + - + @@ -1187,44 +1166,56 @@

Algorithms:



- -Cornerstones 2006 133 + + +Abrams 1994 49 1
Al Statement:Chaff used for bricks 2.5-4 cm in length.Al Math:Al Statement:Amount of wastage when making masonry blocksAl Math:Amount of wastage when making masonry blocks from rough stone: 45% (v1 is original amount of rough stone, v2 is finished masonry blocks)
- - + + - - + +
cmcmkgkg
Source info:Cornerstones Community Partnerships Staff 2006, 132Also cited in:NoneSource info:Abrams 1994, 46Also cited in:
Algorithm type:mudbrickPosition in process:materialsAlgorithm type:Quarrying TuffPosition in process:Procurement
Material:mudbrickSource type:ethnographicMaterial:StoneSource type:Ethnographic
Source chronology:Source geography:Source geography:Mesoamerica
Notes:Chaff used for bricks 2.5-4 cm in legnth. For mortar chaff needs to be shorter, for plaster longer.Notes:
Notes on bibliography:
How to cite:EnCAB alg. - Cornerstones_2006_132How to cite:EnCAB alg. - Abrams_1994_46_1 Created by/on:Buccellati F., 30.02.2018
Input data:Cornerstones_2006_132.xmlInput data:Abrams_1994_46_1.xml Modified by/on:
- - + + - + - - + + - - + + - - + + - + - + - + - + - + @@ -1232,55 +1223,56 @@

Algorithms:



- -Garner 1984 5 + + +Abrams 1994 49 2
Al Statement:Production of lime requires a heat source of 900 Celcius for 36 hours.Al Math:Lime requires heat of 900 CelciusAl Statement:Sculpting stone (simple)Al Math:Scultor carving simple motifs onto stone (measured in carved surface area)
+ + + + + + + + + +
cm2p-h
+
Source info:Cornerstones Community Partnerships Staff 2006, 133Also cited in:NoneSource info:Abrams 1994, 49Also cited in:Abrams 1984
Algorithm type:plaster productionPosition in process:materialsAlgorithm type:SculpturingPosition in process:Manufacture
Material:plasterSource type:ethnographicMaterial:StoneSource type:Ethnographic
Source chronology:Source geography:Source geography:Mesoamerica
Notes:See Cornerstones Community Partnerships 2006 p.132 for gypsum as a parallel.Notes:
Notes on bibliography:Notes on bibliography:See also Abrams_1994_44. bi - Abrams 1984 given as Abrams 1984b in Abrams 1994.
How to cite:EnCAB alg. - Cornerstones_2006_133How to cite:EnCAB alg. - Abrams_1994_49_1 Created by/on:Buccellati F., 30.02.2018
Input data:Cornerstones_2006_133.xmlInput data:Abrams_1994_49_1.xml Modified by/on:
- - + + - - + + - - + + - - + + - - + + - + - + - + - + @@ -1288,55 +1280,56 @@

Algorithms:



- -Heimpel 2009 223 + + +Abrams 1994 48 1
Al Statement:A single worker constructing a stone wall will average 4.9-5.5 meters a day.Al Math:8 p-h to construct 5.2 m of free-standing wall with a height of 1.5m.Al Statement:Sculpting stone (complex)Al Math:Scultor carving complex motifs onto stone (measured in carved surface area)
+ - - - + +
cm2 p-hm
Source info:Garner 1984, 5Also cited in:NoneSource info:Abrams 1994, 49Also cited in:Abrams 1984
Algorithm type:wall buildingPosition in process:constructionAlgorithm type:SculpturingPosition in process:Manufacture
Material:stoneSource type:ethnographicMaterial:StoneSource type:Ethnographic
Source chronology:modernSource geography:europeSource chronology:Source geography:Mesoamerica
Notes:The values in this algorithm are a bit unclear - first, the number of hours in a work day is not stated, and then the width of the wall is also not known. The wall being built is free standing, and thus tapers towards the top, which would not be the case in the construction of a building.Notes:
Notes on bibliography:Notes on bibliography:See also Abrams_1994_44. bi - Abrams 1984 given as Abrams 1984b in Abrams 1994.
How to cite:EnCAB alg. - Garner_1984_5How to cite:EnCAB alg. - Abrams_1994_49_2 Created by/on:Buccellati F., 30.02.2018
Input data:Garner_1984_5.xmlInput data:Abrams_1994_49_2.xml Modified by/on:
- - + + - - + + - - + + - - + + - + - + - + - + @@ -1344,55 +1337,68 @@

Algorithms:



- -Minke 1994 55 + + +Abrams 1994 47 3
Al Statement:240 mudbricks can be made per person per day.Al Math:Al Statement:Stone vs. steel toolsAl Math:Stone tools require 50% more time vs. steel tools .
- - + + - - + +
daybrickp-hp-h
Source info:Heimpel 2009, 223Also cited in:NoneSource info:Abrams 1994, 48Also cited in:
Algorithm type:mudbrickPosition in process:materialsAlgorithm type:ToolsPosition in process:Tools
Material:mudbrickSource type:ethnographicMaterial:StoneSource type:Ethnographic
Source chronology:Source geography:ANESource geography:Mesoamerica
Notes:Notes:Based on experimentation in Copan River area.
Notes on bibliography:
How to cite:EnCAB alg. - Heimpel_2009_223How to cite:EnCAB alg. - Abrams_1994_48_1 Created by/on:Buccellati F., 30.02.2018
Input data:Heimpel_2009_223.xmlInput data:Abrams_1994_48_1.xml Modified by/on:
- - + + - - + + - - + + - - + + - + - - + + - + @@ -1400,61 +1406,56 @@

Algorithms:



- -Robson 1999 67 + + +Aurenche 1981 54
Al Statement:240 mudbricks can be made per person per day.Al Math:Al Statement:TransportationAl Math:Simplified formula based on ENCAFE_1957_22. Output = Q x (L/v+ L/V') x H.
- - + + + + + - - + + + + + + + + + + +
daybrickQ in kgL in mV in V' in H in hr
Output in m3
Source info:MinkeG, 55Also cited in:NoneSource info:Abrams 1994, 47Also cited in:AabergBonsignore 1975, 47
Algorithm type:mudbrickPosition in process:materialsAlgorithm type:TransportPosition in process:Transport
Material:mudbrickSource type:ethnographicMaterial:EarthSource type:
Source chronology: Source geography:
Notes:Notes:Output = Q x (L/v+ L/V') x H. Q=quantity of earth per load (in kg), L=transport distance(in m), V=velocity loaded, V'=velocity unloaded, H=hours, Output expressed in m3.
Notes on bibliography:
How to cite:EnCAB alg. - Minke_1994_55Created by/on:Buccellati F., 30.02.2018How to cite:EnCAB alg. - Abrams_1994_47_3Created by/on:Buccellati F., 30.04.2018
Input data:Minke_1994_55.xmlInput data:Abrams_1994_47_3.xml Modified by/on:
- - + + - - + + - - + + - - + + - + - + - + - + @@ -1462,50 +1463,62 @@

Algorithms:



- -Wulff 1966 126 + + +Garner 1984 5
Al Statement:1/6 of the volume of a mudbrick wall consists of mortarAl Math:m3 * 5/6 = volume of mudbricksAl Statement:A pise' wall needs 3-5 days drying time for each section, which is 30-50cm in height.Al Math:
- - - - - - - - - + + - + +
wall volume in m3mortar in m3
mudbricks in wall volume in m3section height in cmday
Source info:Robson 1999, 67-69Also cited in:Heimpel 2009, 67-69Source info:Aurenche 1981, 54Also cited in:
Algorithm type:mudbrickPosition in process:constructionAlgorithm type:Wall BuildingPosition in process:Construction
Material:mortarSource type:textMaterial:Pise'Source type:Experimental Archaeology
Source chronology:bronze ageSource chronology:modern Source geography:ANE
Notes:Notes:A middle value was used for the algorithm, 4 days drying time for 40cm wall height.
Notes on bibliography:
How to cite:EnCAB alg. - Robson_1999_67How to cite:EnCAB alg. - Aurenche_1981_54 Created by/on:Buccellati F., 30.02.2018
Input data:Robson_1999_67.xmlInput data:Aurenche_1981_54.xml Modified by/on:
- - + + - + - - + + - - + + - - + + - - + + - + - + - +
Al Statement:Production of gypsum requires a heat source of 100-200 Celcius.Al Math:Gypsum requires heat of 100-200 CelciusAl Statement:A single worker constructing a stone wall will average 4.9-5.5 meters a day.Al Math:8 p-h to construct 5.2 m of free-standing wall with a height of 1.5m.
+ + + + + + + + + +
p-hm
+
Source info:Wulff 1966, 126Also cited in:NoneSource info:Garner 1984, 5Also cited in:
Algorithm type:plaster productionPosition in process:materialsAlgorithm type:Wall BuildingPosition in process:Construction
Material:plasterSource type:ethnographicMaterial:StoneSource type:Ethnographic
Source chronology:Source geography:Source chronology:modernSource geography:europe
Notes:Average of 150 used.Notes:The values in this algorithm are a bit unclear - first, the number of hours in a work day is not stated, and then the width of the wall is also not known. The wall being built is free standing, and thus tapers towards the top, which would not be the case in the construction of a building.
Notes on bibliography:
How to cite:EnCAB alg. - Wulff_1966_126How to cite:EnCAB alg. - Garner_1984_5 Created by/on:Buccellati F., 30.02.2018
Input data:Wulff_1966_126.xmlInput data:Garner_1984_5.xml Modified by/on:


-
+
- + \ No newline at end of file diff --git a/docs/algorithms_data/- Current Error Log.lnk b/docs/algorithms_data/- Current Error Log.lnk deleted file mode 100644 index fb1baf4a989ccd4e93dd423924820432b7f3ab50..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1159 zcmeZaU|?VrVFHp23`R83qM35BZPvJ_DmuS z@&OP0FDSgS$`n|1gM&faz+kQ3|tX{5yD^y=H&QnE)ryLcPYv&OJ!iNW8h?9 zVR*lf*Y$A-NJbB+ro)~CNTOS(b)S>Loxz2nh#`}qi~*>XL5v{{YG#tpr(^+!I9ESs zN2fZVHGWW2yFH70L2@8d+e_Jiq#zI@gSDD03~>yu40#OB42}#=z<>w<+K|tX1+*cV zp#-Q@f*}EJ3r~;$gS%&lN2pVs5d(t<)RxKKsi8?eJV78^^5%kUf%p_*&&A*TK(}WC z>R=Wk>?r5(G5A0B8@$`~Y~!%nTD?aLogHg24uEc5Y~n&&)88**o|^;UbDK7R(a5 z#ERs81_lu%^DHsUOY%t#%<-`Vn|J&iC^R_H%$u2X8_m2h1|tSgBFOPE_EKQT$xqiS zsVHG^fVvQ3qOljqg?~440ZB(R6R#+6FysLJn$DmH41o%8sEPsA6alde5QAbGL|Xtc z2owS_h|dhf6AlR42mtBu%)FHR@?wj4|6m4S`hp~%m^g4?DFhVdXQd{W#JFdcc$6k7 z1f>?_$AD#^B+SV`8(9!(@$^flKbrRwJ>abErZ$%!N&g#hmP?DA0Q+TG6Mhw*XH5? diff --git a/docs/algorithms_data/- algorithms codes format b/docs/algorithms_data/- algorithms codes format new file mode 100644 index 0000000..5fb79ab --- /dev/null +++ b/docs/algorithms_data/- algorithms codes format @@ -0,0 +1,101 @@ + + + + algorithm reference [authors_date_pagenumber_sequential number eg. Buccellati_2016_7_1] + + + + name1Sname1 + name2Sname2 + name3Sname3 + name2.1Sname2.1 + name2.2Sname2.2 + + + bibliographical abbreviation [Author_Date] {link to bibliography #author/firstname+author/surname (bibliography page: ../bibliography/bibliography.html).} + page numbers [single number, two numbers separated by dash or several numbers separated by comma (45 or 45-46 or 45-46, 48,55) No further link.] + bibliographical abbreviation to secondary publication [Author_Date] {link to bibliography #author2/firstname+author2/surname (bibliography page: ../bibliography/bibliography.html).] + page numbers for secondary reference [single number, two numbers separated by dash or several numbers separated by comma (45 or 45-46 or 45-46, 48,55) No further link.] + + + + + + + + [from file names inside "algorithm_type" folder] {Link to ../algorithm_type/ENTRY.html where ENTRY is the algorithm type with spaces replaced by underscore "_"} + [from file names inside "position_in_process" folder] {Link to ../position_in_process/ENTRY.html where ENTRY is the algorithm type with spaces replaced by underscore "_"} + [from file names inside "material" folder] {Link to ../material/ENTRY.html where ENTRY is the algorithm type with spaces replaced by underscore "_"} + [from file names inside "source_type" folder] {Link to ../source_type/ENTRY.html where ENTRY is the algorithm type with spaces replaced by underscore "_"} + [from file names inside "source_chronology" folder] {Link to ../source_chronology/ENTRY.html where ENTRY is the algorithm type with spaces replaced by underscore "_"} + [from file names inside "source_geography" folder] {Link to ../source_geography/ENTRY.html where ENTRY is the algorithm type with spaces replaced by underscore "_"} + + + + + + + + in statement format, to be used as title + algorithm in mathematical format, to be used as display on algorithm page + + + + unit type [from file names inside "unit" folder] {link to ../un/ENTRY.html} + [operation (js) based on the other variables (e.g.: var2 * 5 )] + + + m3mudbricks + [(e.g.: var1 / 5 )] + + + + + + m3 + var1 * (1/6) + + + m3 + var1 * (5/6) + + + + + + + + + + + a general note file + a general note file on the bibliography + + + + + + + + + + name1Sname1 + date [dd.mm.yyyy] + + + + + + name1Sname1 + date [dd.mm.yyyy] + + + name2Sname2 + date [dd.mm.yyyy] + + + + + + + diff --git a/docs/algorithms_data/- complete algorithms codes b/docs/algorithms_data/- complete algorithms codes deleted file mode 100644 index 28c2011..0000000 --- a/docs/algorithms_data/- complete algorithms codes +++ /dev/null @@ -1,101 +0,0 @@ - - - - algorithm reference [authors_date_pagenumber_sequential number eg. Buccellati_2016_7_1] - - - - name1Sname1 - name2Sname2 - name3Sname3 - name2.1Sname2.1 - name2.2Sname2.2 - - - bibliographical reference "Author_Date" [link to bibliography #author/firstname+author/surname (bibliography page: ../biblio/biblio.html).] - page numbers [single number, two numbers separated by dash or several numbers separated by comma (45 or 45-46 or 45-46, 48,55) No further link.] - bibliographical reference to secondary publication "Author_Date" [link to bibliography #author2/firstname+author2/surname (bibliography page: ../biblio/biblio.html).] - page numbers for secondary reference [single number, two numbers separated by dash or several numbers separated by comma (45 or 45-46 or 45-46, 48,55) No further link.] - - - - - - - - from set of possibilities, each linked to a static HTML page. Link created should be ../ty/ENTRY.html where ENTRY is the algorithm type with spaces replaced by underscore (_) - from set of possibilities, each linked to a static HTML page Link created should be ../pr/ENTRY.html - from set of possibilities, each linked to a static HTML page. Link created should be ../ma/ENTRY.html - from set of possibilities, each linked to a static HTML page. Link created should be ../so/ENTRY.html - from set of possibilities, each linked to a static HTML page. Link created should be ../sc/ENTRY.html - from set of possibilities, each linked to a static HTML page. Link created should be ../sg/ENTRY.html - - - - - - - - in statement format, to be used as title - algorithm in mathematical format, to be used as display on algorithm page - - - - [unit type + link to ../un/ENTRY.html ] - [operation in function of other variables (e.g. var2 * 5 )] - - - m3mudbricks - - - - - - - m3wall from mortar - var2 * 6 - - - m3mortar in wall - var1 * (1/6) - - - - - - - - - - - a general note file - a general note file on the biliography - - - - - - - - - - name1Sname1 - only in dd.mm.yyyy format. Only one allowed per algorithm. - - - - - - name1Sname1 - only in dd.mm.yyyy format. Only one allowed per algorithm. - - - name2Sname2 - only in dd.mm.yyyy format. Only one allowed per algorithm. - - - - - - - diff --git a/docs/algorithms_data/Aurenche_1981_46.xml b/docs/algorithms_data/Aurenche_1981_46.xml index 73caf9d..5e9d558 100644 --- a/docs/algorithms_data/Aurenche_1981_46.xml +++ b/docs/algorithms_data/Aurenche_1981_46.xml @@ -23,7 +23,7 @@ material qualities materials mudbrick - experimental archaeology + experimental archaeology modern ANE @@ -36,17 +36,17 @@ Thermic difference is reduced by 1/12 every hour for a 40cm thick mudbrick wall. - hrhours + CelciusThermic difference - CelciusThermic difference + hrhours CelciusRemaining thermic difference - var2 - (1/12)*var2 * var1S + (var2 > 12) ? 0 : var1 * (1 - (1/12) * var2) diff --git a/docs/algorithms_data/Aurenche_1981_54.xml b/docs/algorithms_data/Aurenche_1981_54.xml index 93fe920..05834b4 100644 --- a/docs/algorithms_data/Aurenche_1981_54.xml +++ b/docs/algorithms_data/Aurenche_1981_54.xml @@ -10,7 +10,7 @@ AurencheO. - Aurenche 1981 + Aurenche_1981 54 @@ -37,11 +37,11 @@ cmsection height - var1 * 40 / 4 + var2 * 40 / 4 day - var2 / 40 * 4 + var1 / 40 * 4 diff --git a/docs/algorithms_data/Cornerstones_2006_133.xml b/docs/algorithms_data/Cornerstones_2006_133.xml index 5565c63..8fec24e 100644 --- a/docs/algorithms_data/Cornerstones_2006_133.xml +++ b/docs/algorithms_data/Cornerstones_2006_133.xml @@ -24,7 +24,7 @@ plaster production materials plaster - ethnographic + ethnographic diff --git a/docs/algorithms_data/Garner_1984_5.xml b/docs/algorithms_data/Garner_1984_5.xml index 5b61eee..0794d9c 100644 --- a/docs/algorithms_data/Garner_1984_5.xml +++ b/docs/algorithms_data/Garner_1984_5.xml @@ -9,7 +9,7 @@ GarnerL. - Garner 1984 5 + Garner_1984 5 diff --git a/docs/algorithms_data/Minke_1994_55.xml b/docs/algorithms_data/Minke_1994_55.xml index fa9b648..7b4804e 100644 --- a/docs/algorithms_data/Minke_1994_55.xml +++ b/docs/algorithms_data/Minke_1994_55.xml @@ -10,7 +10,7 @@ MinkeG. - MinkeG + MinkeG_1994 55 @@ -18,7 +18,6 @@ - mudbrick diff --git a/docs/bibliography/bibliography.html b/docs/bibliography/bibliography.html index 9251e70..ab52fd8 100644 --- a/docs/bibliography/bibliography.html +++ b/docs/bibliography/bibliography.html @@ -47,7 +47,7 @@

Buccellati, F.

Undena Publications, 2016. -

Cornerstones +

Cornerstones Community Partnerships Staff

Cornerstones Community Partnerships Staff. Adobe diff --git a/docs/material/material_index.html b/docs/material/material_index.html index df84133..6489a5b 100644 --- a/docs/material/material_index.html +++ b/docs/material/material_index.html @@ -21,8 +21,8 @@

Index:

pise'   plaster   stone   -

+

Material

Material

- + \ No newline at end of file diff --git a/docs/position_in_process/position_in_process_index.html b/docs/position_in_process/position_in_process_index.html index 03a4f9d..8fbc51b 100644 --- a/docs/position_in_process/position_in_process_index.html +++ b/docs/position_in_process/position_in_process_index.html @@ -21,8 +21,8 @@

Index:

procurement   tools   transport   -
+

Steps in Process

Steps

- + \ No newline at end of file diff --git a/docs/scripts.js b/docs/scripts.js index a491d1c..0a8ede7 100644 --- a/docs/scripts.js +++ b/docs/scripts.js @@ -27,7 +27,7 @@ function calc(obj) { if ( ! inputs[i].isSameNode(obj) ) { if ( inputs[i].dataset.op ) { var total = Number( eval( inputs[i].getAttribute('data-op') ) ); - if ( total ) { + if ( total == 0 || total ) { inputs[i].value = round(total); } else { inputs[i].value = ''; diff --git a/docs/source_chronology/source_chronology_index.html b/docs/source_chronology/source_chronology_index.html index 9c0a424..7b04e41 100644 --- a/docs/source_chronology/source_chronology_index.html +++ b/docs/source_chronology/source_chronology_index.html @@ -19,8 +19,8 @@

Index:

bronze age   modern   -
+

Source

Source

- + \ No newline at end of file diff --git a/docs/source_geography/source_geography_index.html b/docs/source_geography/source_geography_index.html index c419ddd..66214e7 100644 --- a/docs/source_geography/source_geography_index.html +++ b/docs/source_geography/source_geography_index.html @@ -18,8 +18,8 @@

Index:

ane   europe   mesoamerica   -
+

Source Geography

Geography

- + \ No newline at end of file diff --git a/docs/source_type/source_type_index.html b/docs/source_type/source_type_index.html index ef1e71b..49c6367 100644 --- a/docs/source_type/source_type_index.html +++ b/docs/source_type/source_type_index.html @@ -18,8 +18,8 @@

Index:

ethnographic   experimental archaeology   text   -
+

Source Type

Source Type

- + \ No newline at end of file diff --git a/docs/units/units_index.html b/docs/units/units_index.html index 2b63513..8fbfc25 100644 --- a/docs/units/units_index.html +++ b/docs/units/units_index.html @@ -26,8 +26,8 @@

Index:

m3   p-h   percent   -
+

Units

Units

- + \ No newline at end of file From c3235454f106ea3a42c2b4c41e0c001359ee948e Mon Sep 17 00:00:00 2001 From: Forni B Date: Mon, 26 Mar 2018 09:25:19 +0200 Subject: [PATCH 2/6] Update README.md --- EnCAB/README.md | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/EnCAB/README.md b/EnCAB/README.md index a4fab0a..e8eafd7 100644 --- a/EnCAB/README.md +++ b/EnCAB/README.md @@ -32,17 +32,21 @@ Python 3, with Jinja2 (for templating), ElementTree (for parsing XML) and Beauti Edit config file "config.py" to change directories and other preferences. The program will read the HTML files and the algorithms data. -It will write the HTML data in *.html files inside
. -block="algorithm" sort="(name)" --> write algorithms data, insert in (name) a SORT_STRINGS (from "config.py") or XML XPath of desired item to sort -block="index" sort="(name)" --> write files index, insert in (name) the folder name of desired files to use for the sorted index +It will write the HTML data in *.html files inside ```
```. -Templates are written in Jinja2 templating language. The XML ElementTree is passed as argument. +```block="algorithm" sort="(name)"``` write algorithms data, insert in (name) a SORT_STRINGS (from "config.py") or XML XPath of desired item to sort + +```block="index" sort="(name)"``` write files index, insert in (name) the folder name of desired files to use for the sorted index ### Data Each algorithms must have its own XML file stored in ALGORITHMS_DIR with .xml or .txt extension. See "- algorithms codes format" for mandatory format of the codes. +### HTML Templates + +Templates are written in Jinja2 templating language. The XML ElementTree is passed as argument. + ### Errors The log containing the errors found by the program are stored in the file "log.txt". From 3b5dd2f5d869a867160f6512d4efe2f97424ed56 Mon Sep 17 00:00:00 2001 From: Forni B Date: Mon, 26 Mar 2018 09:33:12 +0200 Subject: [PATCH 3/6] Update README.md --- EnCAB/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/EnCAB/README.md b/EnCAB/README.md index e8eafd7..ab3f9e9 100644 --- a/EnCAB/README.md +++ b/EnCAB/README.md @@ -49,7 +49,7 @@ Templates are written in Jinja2 templating language. The XML ElementTree is pass ### Errors -The log containing the errors found by the program are stored in the file "log.txt". +The log with the errors found are stored in the file "log.txt". ## Licensing From 79bd87f97ae2764a20d607dfe31d97837a41a12d Mon Sep 17 00:00:00 2001 From: fornib Date: Mon, 26 Mar 2018 10:15:02 +0200 Subject: [PATCH 4/6] Template update --- EnCAB/EnCAB.py | 9 ++++- EnCAB/templates/algorithm.html | 14 +++---- docs/algorithms/algorithm_bibliography.html | 12 +++--- docs/algorithms/algorithm_materials.html | 24 ++++++------ .../algorithm_position_in_process.html | 24 ++++++------ docs/algorithms/algorithm_type.html | 36 +++++++++--------- .../- current Error Log.txt.lnk | Bin 0 -> 1159 bytes 7 files changed, 62 insertions(+), 57 deletions(-) create mode 100644 docs/algorithms_data/- current Error Log.txt.lnk diff --git a/EnCAB/EnCAB.py b/EnCAB/EnCAB.py index 2a291a6..3b8158d 100644 --- a/EnCAB/EnCAB.py +++ b/EnCAB/EnCAB.py @@ -298,8 +298,13 @@ def generate_html(template, blocks_data, sort): """ Sort and render the data with templates """ path, filename = os.path.split(template) - return jinja2.Environment(loader=jinja2.FileSystemLoader(path or '.'))\ - .get_template(filename).render(blocks_data=blocks_data, sort=sort)#{% set old_sort = '' %} + env = jinja2.Environment(loader=jinja2.FileSystemLoader(path or '.')) + + def capfirst(text): + return ' '.join(s[:1].upper() + s[1:] for s in text.split(' ')) + env.filters['capfirst'] = capfirst + + return env.get_template(filename).render(blocks_data=blocks_data, sort=sort) def check_config(): diff --git a/EnCAB/templates/algorithm.html b/EnCAB/templates/algorithm.html index 67e6501..d3e4c0d 100644 --- a/EnCAB/templates/algorithm.html +++ b/EnCAB/templates/algorithm.html @@ -2,7 +2,7 @@ {#- --- INDEX --- #} {%- set ns = namespace(new_sort = '') %} {% for b, filename in blocks_data -%}{% if b.find(sort).text.lower() != ns.new_sort.lower() %}{% set ns.new_sort = b.find(sort).text %} -{% if ns.new_sort %}{% if not loop.first %} - {% endif %}{{ ns.new_sort|replace('_',' ') }}{% endif %} +{% if ns.new_sort %}{% if not loop.first %} - {% endif %}{{ ns.new_sort|replace('_',' ')|capfirst }}{% endif %} {%- endif %}{% endfor %} {% set ns.new_sort = '' %} @@ -52,16 +52,16 @@ {%- if b.find('biblioref/pagenums2').text %}, {{ b.find('biblioref/pagenums').text }}{% endif %} - Algorithm type:{% if b.find('algorithm_description/algorithm_type').text %}{{ b.find('algorithm_description/algorithm_type').text|title }}{% endif %} - Position in process:{% if b.find('algorithm_description/position_in_process').text %}{{ b.find('algorithm_description/position_in_process').text|title }}{% endif %} + Algorithm type:{% if b.find('algorithm_description/algorithm_type').text %}{{ b.find('algorithm_description/algorithm_type').text|capfirst }}{% endif %} + Position in process:{% if b.find('algorithm_description/position_in_process').text %}{{ b.find('algorithm_description/position_in_process').text|capfirst }}{% endif %} - Material:{% if b.find('algorithm_description/material').text %}{{ b.find('algorithm_description/material').text|title }}{% endif %} - Source type:{% if b.find('algorithm_description/source_type').text %}{{ b.find('algorithm_description/source_type').text|title }}{% endif %} + Material:{% if b.find('algorithm_description/material').text %}{{ b.find('algorithm_description/material').text|capfirst }}{% endif %} + Source type:{% if b.find('algorithm_description/source_type').text %}{{ b.find('algorithm_description/source_type').text|capfirst }}{% endif %} - Source chronology:{% if b.find('algorithm_description/source_chronology').text %}{{ b.find('algorithm_description/source_chronology').text }}{% endif %} - Source geography:{% if b.find('algorithm_description/source_geography').text %}{{ b.find('algorithm_description/source_geography').text }}{% endif %} + Source chronology:{% if b.find('algorithm_description/source_chronology').text %}{{ b.find('algorithm_description/source_chronology').text|capfirst }}{% endif %} + Source geography:{% if b.find('algorithm_description/source_geography').text %}{{ b.find('algorithm_description/source_geography').text|capfirst }}{% endif %} Notes:{{ b.find('algnotes/general_notes').text or '' }} diff --git a/docs/algorithms/algorithm_bibliography.html b/docs/algorithms/algorithm_bibliography.html index b5fb29d..23f0ec1 100644 --- a/docs/algorithms/algorithm_bibliography.html +++ b/docs/algorithms/algorithm_bibliography.html @@ -883,7 +883,7 @@

Algorithms:

Source type:Experimental Archaeology - Source chronology:modern + Source chronology:Modern Source geography:ANE @@ -940,7 +940,7 @@

Algorithms:

Source type:Experimental Archaeology - Source chronology:modern + Source chronology:Modern Source geography:ANE @@ -1054,7 +1054,7 @@

Algorithms:

Source type:Ethnographic - Source chronology:modern + Source chronology:Modern Source geography:ANE @@ -1271,8 +1271,8 @@

Algorithms:

Source type:Ethnographic - Source chronology:modern - Source geography:europe + Source chronology:Modern + Source geography:Europe Notes:The values in this algorithm are a bit unclear - first, the number of hours in a work day is not stated, and then the width of the wall is also not known. The wall being built is free standing, and thus tapers towards the top, which would not be the case in the construction of a building. @@ -1448,7 +1448,7 @@

Algorithms:

Source type:Text - Source chronology:bronze age + Source chronology:Bronze Age Source geography:ANE diff --git a/docs/algorithms/algorithm_materials.html b/docs/algorithms/algorithm_materials.html index 6f5beb3..70c4285 100644 --- a/docs/algorithms/algorithm_materials.html +++ b/docs/algorithms/algorithm_materials.html @@ -18,12 +18,12 @@

Algorithms by Bibliography

Algorithms:

-earth - - mortar - - mudbrick - - pise' - - plaster - - stone +Earth + - Mortar + - Mudbrick + - Pise' + - Plaster + - Stone


@@ -196,7 +196,7 @@

Algorithms:

Source type:Text - Source chronology:bronze age + Source chronology:Bronze Age Source geography:ANE @@ -259,7 +259,7 @@

Algorithms:

Source type:Experimental Archaeology - Source chronology:modern + Source chronology:Modern Source geography:ANE @@ -373,7 +373,7 @@

Algorithms:

Source type:Ethnographic - Source chronology:modern + Source chronology:Modern Source geography:ANE @@ -658,7 +658,7 @@

Algorithms:

Source type:Experimental Archaeology - Source chronology:modern + Source chronology:Modern Source geography:ANE @@ -1491,8 +1491,8 @@

Algorithms:

Source type:Ethnographic - Source chronology:modern - Source geography:europe + Source chronology:Modern + Source geography:Europe Notes:The values in this algorithm are a bit unclear - first, the number of hours in a work day is not stated, and then the width of the wall is also not known. The wall being built is free standing, and thus tapers towards the top, which would not be the case in the construction of a building. diff --git a/docs/algorithms/algorithm_position_in_process.html b/docs/algorithms/algorithm_position_in_process.html index a98d929..b559e0a 100644 --- a/docs/algorithms/algorithm_position_in_process.html +++ b/docs/algorithms/algorithm_position_in_process.html @@ -19,12 +19,12 @@

Algorithms by Step in Process

Algorithms:

-construction - - manufacture - - materials - - procurement - - tools - - transport +Construction + - Manufacture + - Materials + - Procurement + - Tools + - Transport


@@ -122,7 +122,7 @@

Algorithms:

Source type:Experimental Archaeology - Source chronology:modern + Source chronology:Modern Source geography:ANE @@ -179,8 +179,8 @@

Algorithms:

Source type:Ethnographic - Source chronology:modern - Source geography:europe + Source chronology:Modern + Source geography:Europe Notes:The values in this algorithm are a bit unclear - first, the number of hours in a work day is not stated, and then the width of the wall is also not known. The wall being built is free standing, and thus tapers towards the top, which would not be the case in the construction of a building. @@ -242,7 +242,7 @@

Algorithms:

Source type:Text - Source chronology:bronze age + Source chronology:Bronze Age Source geography:ANE @@ -476,7 +476,7 @@

Algorithms:

Source type:Experimental Archaeology - Source chronology:modern + Source chronology:Modern Source geography:ANE @@ -590,7 +590,7 @@

Algorithms:

Source type:Ethnographic - Source chronology:modern + Source chronology:Modern Source geography:ANE diff --git a/docs/algorithms/algorithm_type.html b/docs/algorithms/algorithm_type.html index d18f9ce..28689a0 100644 --- a/docs/algorithms/algorithm_type.html +++ b/docs/algorithms/algorithm_type.html @@ -19,18 +19,18 @@

Algorithms by Type

Algorithms:

-building cobbles - - cut masonry blocks - - earth digging - - material qualities - - mudbrick - - plaster production - - quarrying cobbles - - quarrying tuff - - sculpturing - - tools - - transport - - wall building +Building Cobbles + - Cut Masonry Blocks + - Earth Digging + - Material Qualities + - Mudbrick + - Plaster Production + - Quarrying Cobbles + - Quarrying Tuff + - Sculpturing + - Tools + - Transport + - Wall Building


@@ -362,7 +362,7 @@

Algorithms:

Source type:Experimental Archaeology - Source chronology:modern + Source chronology:Modern Source geography:ANE @@ -476,7 +476,7 @@

Algorithms:

Source type:Ethnographic - Source chronology:modern + Source chronology:Modern Source geography:ANE @@ -767,7 +767,7 @@

Algorithms:

Source type:Text - Source chronology:bronze age + Source chronology:Bronze Age Source geography:ANE @@ -1441,7 +1441,7 @@

Algorithms:

Source type:Experimental Archaeology - Source chronology:modern + Source chronology:Modern Source geography:ANE @@ -1498,8 +1498,8 @@

Algorithms:

Source type:Ethnographic - Source chronology:modern - Source geography:europe + Source chronology:Modern + Source geography:Europe Notes:The values in this algorithm are a bit unclear - first, the number of hours in a work day is not stated, and then the width of the wall is also not known. The wall being built is free standing, and thus tapers towards the top, which would not be the case in the construction of a building. diff --git a/docs/algorithms_data/- current Error Log.txt.lnk b/docs/algorithms_data/- current Error Log.txt.lnk new file mode 100644 index 0000000000000000000000000000000000000000..fb1baf4a989ccd4e93dd423924820432b7f3ab50 GIT binary patch literal 1159 zcmeZaU|?VrVFHp23`R83qM35BZPvJ_DmuS z@&OP0FDSgS$`n|1gM&faz+kQ3|tX{5yD^y=H&QnE)ryLcPYv&OJ!iNW8h?9 zVR*lf*Y$A-NJbB+ro)~CNTOS(b)S>Loxz2nh#`}qi~*>XL5v{{YG#tpr(^+!I9ESs zN2fZVHGWW2yFH70L2@8d+e_Jiq#zI@gSDD03~>yu40#OB42}#=z<>w<+K|tX1+*cV zp#-Q@f*}EJ3r~;$gS%&lN2pVs5d(t<)RxKKsi8?eJV78^^5%kUf%p_*&&A*TK(}WC z>R=Wk>?r5(G5A0B8@$`~Y~!%nTD?aLogHg24uEc5Y~n&&)88**o|^;UbDK7R(a5 z#ERs81_lu%^DHsUOY%t#%<-`Vn|J&iC^R_H%$u2X8_m2h1|tSgBFOPE_EKQT$xqiS zsVHG^fVvQ3qOljqg?~440ZB(R6R#+6FysLJn$DmH41o%8sEPsA6alde5QAbGL|Xtc z2owS_h|dhf6AlR42mtBu%)FHR@?wj4|6m4S`hp~%m^g4?DFhVdXQd{W#JFdcc$6k7 z1f>?_$AD#^B+SV`8(9!(@$^flKbrRwJ>abErZ$%!N&g#hmP?DA0Q+TG6Mhw*XH5? literal 0 HcmV?d00001 From 7abd2b85f7bb7bb4bede24baacb776112a8dc45e Mon Sep 17 00:00:00 2001 From: fornib Date: Sun, 15 Apr 2018 14:12:10 +0200 Subject: [PATCH 5/6] Docs update --- EnCAB/EnCAB.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/EnCAB/EnCAB.py b/EnCAB/EnCAB.py index 3b8158d..8de7107 100644 --- a/EnCAB/EnCAB.py +++ b/EnCAB/EnCAB.py @@ -350,7 +350,7 @@ def check_config(): ''') try: - print('Press ENTER to Continue, Ctrl-C to Abort.\n') # input() + input('Press ENTER to Continue, Ctrl-C to Abort.\n') except KeyboardInterrupt: # Do not send error for Ctrl-C sys.exit() @@ -365,5 +365,5 @@ def check_config(): print('\n[+] Done!') - # input() + input() sys.exit() From 6a3cefc829a544eff8742d56879be73be733ad32 Mon Sep 17 00:00:00 2001 From: fornib Date: Sun, 15 Apr 2018 14:15:11 +0200 Subject: [PATCH 6/6] Docs update --- EnCAB/EnCAB.py | 8 ++++++ EnCAB/README.md | 50 +++++++++++++++++++++++++++++-------- EnCAB/to-do programming.txt | 11 ++++---- 3 files changed, 53 insertions(+), 16 deletions(-) diff --git a/EnCAB/EnCAB.py b/EnCAB/EnCAB.py index 8de7107..5482ed1 100644 --- a/EnCAB/EnCAB.py +++ b/EnCAB/EnCAB.py @@ -6,9 +6,11 @@ import sys import os # files import re # regex +import datetime import xml.etree.ElementTree as ET # XML file reading from bs4 import BeautifulSoup # HTML tag parsing import jinja2 # HTML template +import zipfile # from pyuca import Collator # UTF sorting from config import * # File "config.py" stores program settings @@ -76,12 +78,18 @@ def files_index(website_dir): def get_algo_data(algo_dir, index, author_index): + # Archive the data + zip_name = 'EnCAB_input_' + datetime.date.today().strftime('%Y%m%d') + '.zip' + zip_file = zipfile.ZipFile(os.path.join(algo_dir, 'archives', zip_name), mode='w', compression=zipfile.ZIP_DEFLATED) + algo_data = [] for file in os.listdir(algo_dir): filename = os.path.join(algo_dir, file) if os.path.isfile(filename) and filename.endswith(('.xml', '.txt')): algo_data += [(parse(filename, index, author_index), os.path.basename(filename))] + zip_file.write(filename, arcname=os.path.basename(filename)) + zip_file.close() return algo_data diff --git a/EnCAB/README.md b/EnCAB/README.md index ab3f9e9..5f9ff0c 100644 --- a/EnCAB/README.md +++ b/EnCAB/README.md @@ -1,11 +1,21 @@ # EnCAB -Python program to update static HTML website with algorithms and index imported from XML data. +Python program to update HTML website with algorithms calculation (with indexes) imported from XML data. + + +## How It Works + +Upon launch, EnCAB.py does the following things: +1. Makes a list of all file names in the website directory +2. Parses XML data contained in the algoritms directory and checks for errors +3. Reads HTML files and extract `
` attributes +4. Generates HTML from templates with the data and attributes +5. Updates the content of `
` with the new generated HTML ## Getting started -Required Python 3. +Required at least Python 3.6 To install the program in the EnCAB directory: ```shell git clone https://github.com/fabfab1/EnCAB.git @@ -24,32 +34,50 @@ Press ENTER to confirm configuration and update HTML files. ### Built With -Python 3, with Jinja2 (for templating), ElementTree (for parsing XML) and BeautifulSoup (for parsing HTML). +* [Python 3](https://www.python.org/download/releases/3.0/) - The web framework used +* [Jinja2](http://jinja.pocoo.org/) - Templating engine +* [ElementTree](https://docs.python.org/3/library/xml.etree.elementtree.html) - Used to parse XML +* [BeautifulSoup](https://www.crummy.com/software/BeautifulSoup/bs4/doc/) - Used to parse HTML ## Configuration Edit config file "config.py" to change directories and other preferences. -The program will read the HTML files and the algorithms data. -It will write the HTML data in *.html files inside ```
```. +The program will access in read mode the HTML files and the algorithms data. +It will access in read-write mode the HTML files containing ```
``` and write the data inside it, keeping the formatting of the file. -```block="algorithm" sort="(name)"``` write algorithms data, insert in (name) a SORT_STRINGS (from "config.py") or XML XPath of desired item to sort +```block="algorithm" sort="(name)"``` +write algorithms data, insert in `(name)` a SORT_STRINGS (from `config.py`) or XML XPath of desired item to sort. -```block="index" sort="(name)"``` write files index, insert in (name) the folder name of desired files to use for the sorted index +```block="index" sort="(name)"``` +write files index, insert in `(name)` the folder name of desired files to use for the sorted index. ### Data -Each algorithms must have its own XML file stored in ALGORITHMS_DIR with .xml or .txt extension. -See "- algorithms codes format" for mandatory format of the codes. +Each algorithms must have its own XML file stored in ALGORITHMS_DIR with `.xml` or `.txt` extensions. +See file `- algorithms codes format` for mandatory format of the codes. ### HTML Templates -Templates are written in Jinja2 templating language. The XML ElementTree is passed as argument. +Templates are written in Jinja2 templating language. +The XML ElementTree is passed as argument for the algorithms. +The index of files is passed as argument fot the indexes. + + +### Dinamic calculations + +Dinamic algorithms calculation on the HTML page can be made with javascript, as in `script.js`. + ### Errors -The log with the errors found are stored in the file "log.txt". +The log with the errors found are stored in the file `log.txt`. + + +## Authors + +* **Bernardo Forni** - [fornib](https://github.com/fornib) ## Licensing diff --git a/EnCAB/to-do programming.txt b/EnCAB/to-do programming.txt index f448c5f..9abb4f7 100644 --- a/EnCAB/to-do programming.txt +++ b/EnCAB/to-do programming.txt @@ -2,12 +2,13 @@ List of things still to do in EnCAB Program: -------------------------------------------- -write programming page +? where to put programming page or link to README.rd -write Bernardo bio page +? favicon.ico -favicon.ico ? +? everything in *_index.html files +? calc() function circular +? python check js -CSV data dump from all the input files used (also the ones with errors) with the XML tags as headers. Filename should be "EnCAB_input_xyz.csv" where xyz is the date (year month day format) and time. - the separator should be a tab character (the error trapping should give an error if there is a tab used in the input, and should replace that character with 4 spaces when sending to the CSV file) +? ZIP file in archives/ instead of CSV (more accessible)