Skip to content

Commit

Permalink
EticaAI/numerordinatio#5: ./999999999/0/2600.py --actionem-cifram draft
Browse files Browse the repository at this point in the history
  • Loading branch information
eticaaibot committed Jan 9, 2022
1 parent fb5a9e8 commit b8f8d0a
Show file tree
Hide file tree
Showing 3 changed files with 141 additions and 64 deletions.
1 change: 1 addition & 0 deletions 999999/999999/1603.47.639.3.TEMP.tsv
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@

51 changes: 48 additions & 3 deletions 999999999/0/2600.py
Original file line number Diff line number Diff line change
Expand Up @@ -214,6 +214,24 @@ def est_resultatum_separato(self, resultatum_separato: str):
self.resultatum_separato = resultatum_separato
return self

def cifram_lineam(self, datum_lineam: str, index: int = 0):
# self.resultatum_separato = resultatum_separato
fontem_separato = "\t"
resultatum = []

lineam_arr = datum_lineam.split(fontem_separato)

codicem_numerae = self.quod_numerordinatio_digitalem(lineam_arr[index])
resultatum.append(codicem_numerae)

for rem in lineam_arr:
resultatum.append(rem)

# print('...', resultatum, fontem_separato.join(resultatum))
# print('...', fontem_separato.join(resultatum))

return fontem_separato.join(resultatum)

def decifram_codicem_numerae(self, codicem):
# self.resultatum_separato = resultatum_separato
fontem = ''
Expand Down Expand Up @@ -513,6 +531,18 @@ def make_args(self, hxl_output=True):
const=True,
nargs='?'
)
decifram = parser.add_argument_group(
"cifram",
"Cifram (e.g. the act of encode first column of data on B60)")

decifram.add_argument(
'--actionem-cifram',
help='(required) Define mode decifram',
metavar='',
dest='actionem_cifram',
const=True,
nargs='?'
)

# https://stackoverflow.com/questions/59661738/argument-dependency-in-argparse
# Scriptura cuneiformis
Expand Down Expand Up @@ -591,12 +621,29 @@ def execute_cli(self, pyargs, stdin=STDIN, stdout=sys.stdout,
ndt2600.est_neo_scripturam_tabulae(
args.neo_scripturam_tabulae, args.neo_scripturam_nomini)

# printf "abc\tABC\nefg\tEFG\n" | ./999999999/0/2600.py --actionem-cifram
# cat 999999/1603/47/639/3/1603.47.639.3.tab | head | tail -n 4 | ./999999999/0/2600.py --actionem-cifram
if self.pyargs.actionem_cifram:

if stdin.isatty():
print("ERROR. Please pipe data in. \nExample:\n"
" cat data.tsv | {0} --actionem-cifram\n"
" printf \"abc\\nefg\\n\" | {0} --actionem-cifram"
"".format(__file__))
return self.EXIT_ERROR

for line in sys.stdin:
codicem = line.replace('\n', ' ').replace('\r', '')
neo_lineam = ndt2600.cifram_lineam(codicem)
sys.stdout.writelines("{0}\n".format(neo_lineam))
return self.EXIT_OK

if self.pyargs.actionem_decifram:

if stdin.isatty():
print("ERROR. Please pipe data in. \nExample:\n"
" cat data.txt | {0} --actionem-decifram\n"
" prinf \"1234\\n5678\\n\" | {0} --actionem-decifram"
" printf \"1234\\n5678\\n\" | {0} --actionem-decifram"
"".format(__file__))
return self.EXIT_ERROR

Expand All @@ -609,8 +656,6 @@ def execute_cli(self, pyargs, stdin=STDIN, stdout=sys.stdout,
)
return self.EXIT_OK

# return self.output(['todo'])

if self.pyargs.verbum_simplex:
tabulam_multiplicatio = ndt2600.quod_tabulam_multiplicatio()
return self.output(tabulam_multiplicatio)
Expand Down
153 changes: 92 additions & 61 deletions 999999999/1603.47.639.3.sh
Original file line number Diff line number Diff line change
Expand Up @@ -52,37 +52,36 @@ DATA_ISO_639_3_CSV="https://proxy.hxlstandard.org/data.csv?tagger-match-all=on&t
#######################################
bootstrap_999999_1603_47_639_3_fetch_data_hxlated() {

# An Non HXLated version
if [ ! -f "${ROOTDIR}/999999/1603/47/639/3/1603.47.639.3.tab" ]; then
wget -qO- "$DATA_ISO_639_3_TAB" > "${ROOTDIR}/999999/1603/47/639/3/1603.47.639.3.tab"
else
echo "Cached: ${ROOTDIR}/999999/1603/47/639/3/1603.47.639.3.hxl.csv"
fi

# TODO: investigage edge case very peculiar were HXLProxy may forgot
# a tab exactly on jrr around 65,8 KB of data.
# "It looks like row 2787 should actually have 8 columns, instead of 7. in line 2786."

if [ ! -f "${ROOTDIR}/999999/1603/47/639/3/1603.47.639.3.hxl.csv" ]; then
wget -qO- "$DATA_ISO_639_3_CSV" > "${ROOTDIR}/999999/1603/47/639/3/1603.47.639.3.hxl.csv"
else
echo "Cached: ${ROOTDIR}/999999/1603/47/639/3/1603.47.639.3.hxl.csv"
fi

is_valid=$(csvclean --dry-run "${ROOTDIR}/999999/1603/47/639/3/1603.47.639.3.hxl.csv")
if [ "$is_valid" != "No errors." ]; then
csvclean "${ROOTDIR}/999999/1603/47/639/3/1603.47.639.3.hxl.csv"
if [ -f "${ROOTDIR}/999999/1603/47/639/3/1603.47.639.3.hxl_original.csv" ]; then
rm "${ROOTDIR}/999999/1603/47/639/3/1603.47.639.3.hxl_original.csv"
# An Non HXLated version
if [ ! -f "${ROOTDIR}/999999/1603/47/639/3/1603.47.639.3.tab" ]; then
wget -qO- "$DATA_ISO_639_3_TAB" >"${ROOTDIR}/999999/1603/47/639/3/1603.47.639.3.tab"
else
echo "Cached: ${ROOTDIR}/999999/1603/47/639/3/1603.47.639.3.hxl.csv"
fi

# TODO: investigage edge case very peculiar were HXLProxy may forgot
# a tab exactly on jrr around 65,8 KB of data.
# "It looks like row 2787 should actually have 8 columns, instead of 7. in line 2786."

if [ ! -f "${ROOTDIR}/999999/1603/47/639/3/1603.47.639.3.hxl.csv" ]; then
wget -qO- "$DATA_ISO_639_3_CSV" >"${ROOTDIR}/999999/1603/47/639/3/1603.47.639.3.hxl.csv"
else
echo "Cached: ${ROOTDIR}/999999/1603/47/639/3/1603.47.639.3.hxl.csv"
fi
# mv "${ROOTDIR}/999999/1603/47/639/3/1603.47.639.3.hxl.csv" "${ROOTDIR}/999999/1603/47/639/3/1603.47.639.3.hxl_original.csv"
rm "${ROOTDIR}/999999/1603/47/639/3/1603.47.639.3.hxl.csv"
mv "${ROOTDIR}/999999/1603/47/639/3/1603.47.639.3.hxl_out.csv" "${ROOTDIR}/999999/1603/47/639/3/1603.47.639.3.hxl.csv"
else
echo "Cached already is valid. Ok."
fi
}

is_valid=$(csvclean --dry-run "${ROOTDIR}/999999/1603/47/639/3/1603.47.639.3.hxl.csv")
if [ "$is_valid" != "No errors." ]; then
csvclean "${ROOTDIR}/999999/1603/47/639/3/1603.47.639.3.hxl.csv"
if [ -f "${ROOTDIR}/999999/1603/47/639/3/1603.47.639.3.hxl_original.csv" ]; then
rm "${ROOTDIR}/999999/1603/47/639/3/1603.47.639.3.hxl_original.csv"
fi
# mv "${ROOTDIR}/999999/1603/47/639/3/1603.47.639.3.hxl.csv" "${ROOTDIR}/999999/1603/47/639/3/1603.47.639.3.hxl_original.csv"
rm "${ROOTDIR}/999999/1603/47/639/3/1603.47.639.3.hxl.csv"
mv "${ROOTDIR}/999999/1603/47/639/3/1603.47.639.3.hxl_out.csv" "${ROOTDIR}/999999/1603/47/639/3/1603.47.639.3.hxl.csv"
else
echo "Cached already is valid. Ok."
fi
}

#######################################
# Download external source files
Expand All @@ -97,13 +96,13 @@ bootstrap_999999_1603_47_639_3_fetch_data_hxlated() {
#######################################
bootstrap_999999_1603_47_639_3_fetch_data_raw() {

# An Non HXLated version
if [ ! -f "${ROOTDIR}/999999/1603/47/639/3/1603.47.639.3.tab" ]; then
wget -qO- "$DATA_ISO_639_3_TAB" > "${ROOTDIR}/999999/1603/47/639/3/1603.47.639.3.tab"
touch "${ROOTDIR}/999999/1603/47/639/3/1603.47.639.3.tab.CHANGED"
else
echo "Cached: ${ROOTDIR}/999999/1603/47/639/3/1603.47.639.3.hxl.csv"
fi
# An Non HXLated version
if [ ! -f "${ROOTDIR}/999999/1603/47/639/3/1603.47.639.3.tab" ]; then
wget -qO- "$DATA_ISO_639_3_TAB" >"${ROOTDIR}/999999/1603/47/639/3/1603.47.639.3.tab"
touch "${ROOTDIR}/999999/1603/47/639/3/1603.47.639.3.tab.CHANGED"
else
echo "Cached: ${ROOTDIR}/999999/1603/47/639/3/1603.47.639.3.hxl.csv"
fi
}

#######################################
Expand All @@ -121,21 +120,21 @@ bootstrap_999999_1603_47_639_3_old() {
hxladd \
--before --spec="#x_item+lower={{#vocab+code+v_6391}}" \
--before --spec="#x_item+upper={{#vocab+code+v_6391}}" \
"${ROOTDIR}/999999/1603/47/639/3/1603.47.639.3.hxl.csv" \
| hxladd --before --spec="#x_item+lower={{#vocab+code+v_3692_3letter+z_terminology}}" \
| hxladd --before --spec="#x_item+upper={{#vocab+code+v_3692_3letter+z_terminology}}" \
| hxladd --before --spec="#x_item+lower={{#vocab+code+v_iso3692_3letter+z_bibliographic}}" \
| hxladd --before --spec="#x_item+upper={{#vocab+code+v_iso3692_3letter+z_bibliographic}}" \
| hxladd --before --spec="#x_item+upper={{#vocab+id+v_iso6393_3letter}}" \
| hxladd --before --spec="#x_item+lower={{#vocab+id+v_iso6393_3letter}}" \
| hxlclean --lower="#x_item+lower" \
| hxlclean --upper="#x_item+upper" \
| hxlcut --include="#x_item" \
| sed 's/None//' | sed 's/None//' | sed 's/None//' | sed 's/None//' \
| sed 's/NONE//' | sed 's/NONE//' | sed 's/NONE//' | sed 's/NONE//' \
| sed 's/none//' | sed 's/none//' | sed 's/none//' | sed 's/none//' \
| csvformat --out-tabs --skip-lines 2 \
> "${ROOTDIR}/999999/999999/1603.47.639.3.tsv"
"${ROOTDIR}/999999/1603/47/639/3/1603.47.639.3.hxl.csv" |
hxladd --before --spec="#x_item+lower={{#vocab+code+v_3692_3letter+z_terminology}}" |
hxladd --before --spec="#x_item+upper={{#vocab+code+v_3692_3letter+z_terminology}}" |
hxladd --before --spec="#x_item+lower={{#vocab+code+v_iso3692_3letter+z_bibliographic}}" |
hxladd --before --spec="#x_item+upper={{#vocab+code+v_iso3692_3letter+z_bibliographic}}" |
hxladd --before --spec="#x_item+upper={{#vocab+id+v_iso6393_3letter}}" |
hxladd --before --spec="#x_item+lower={{#vocab+id+v_iso6393_3letter}}" |
hxlclean --lower="#x_item+lower" |
hxlclean --upper="#x_item+upper" |
hxlcut --include="#x_item" |
sed 's/None//' | sed 's/None//' | sed 's/None//' | sed 's/None//' |
sed 's/NONE//' | sed 's/NONE//' | sed 's/NONE//' | sed 's/NONE//' |
sed 's/none//' | sed 's/none//' | sed 's/none//' | sed 's/none//' |
csvformat --out-tabs --skip-lines 2 \
>"${ROOTDIR}/999999/999999/1603.47.639.3.tsv"
}

#######################################
Expand All @@ -150,14 +149,49 @@ bootstrap_999999_1603_47_639_3_old() {
# 999999/999999/1603.47.639.3.tsv
#######################################
bootstrap_999999_1603_47_639_3() {
source_file="${ROOTDIR}/999999/1603/47/639/3/1603.47.639.3.tab"
# target_file="${ROOTDIR}/999999/999999/1603.47.639.3.tsv"
target_file="${ROOTDIR}/999999/999999/1603.47.639.3-neo.tsv"
fontem_archivum="${ROOTDIR}/999999/1603/47/639/3/1603.47.639.3.tab"
# objectivum_archivum="${ROOTDIR}/999999/999999/1603.47.639.3.tsv"
objectivum_archivum="${ROOTDIR}/999999/999999/1603.47.639.3-neo.tsv"
objectivum_archivum_temp="${ROOTDIR}/999999/999999/1603.47.639.3.TEMP.tsv"

# if [ -z "$(changed_recently "$source_file")" ]; then return 0; fi
# if [ -z "$(changed_recently "$fontem_archivum")" ]; then return 0; fi

echo "$0 TODO..."

echo "" >"$objectivum_archivum_temp"

# while IFS= read -r lineam; do
# # arr_csv+=("$line")
# # echo "$lineam"
# while IFS=$'\t' read -r -a line_arr; do
# # echo "${line_arr[0]}"
# # echo "${line_arr[1]}"
# # echo "${line_arr[2]}"
# printf "%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\n" "${line_arr[0]}" "${line_arr[0]^^}" "${line_arr[1]}" "${line_arr[1]^^}" "${line_arr[2]}" "${line_arr[2]^^}" "${line_arr[3]}" "${line_arr[3]^^}"
# # echo "${line_arr[0]}"
# done <<<"$lineam"
# done <"$fontem_archivum"

{
# This read skip first line
read -r
# shellcheck disable=SC2002
while IFS= read -r lineam; do
# arr_csv+=("$line")
# echo "$lineam"
while IFS="|" read -r -a line_arr; do
# echo "${line_arr[0]}"
# echo "${line_arr[1]}"
# echo "${line_arr[2]}"
printf "%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\n" "${line_arr[0]}" "${line_arr[0]^^}" "${line_arr[1]}" "${line_arr[1]^^}" "${line_arr[2]}" "${line_arr[2]^^}" "${line_arr[3]}" "${line_arr[3]^^}"
# echo "${line_arr[0]}"
done <<<"$lineam"
# done <"$fontem_archivum"
done
} < <(cat "$fontem_archivum" | tr '\t' '|')

# cat 999999/1603/47/639/3/1603.47.639.3.tab | head | tail -n 4 | ./999999999/0/2600.py --actionem-cifram

# if [ ! -f "${ROOTDIR}/999999/1603/47/639/3/1603.47.639.3.tab.CHANGED" ]; then
# echo "$0 no refrech "
# fi
Expand All @@ -171,16 +205,13 @@ bootstrap_999999_1603_47_639_3() {
bootstrap_999999_1603_47_639_3_fetch_data_raw
bootstrap_999999_1603_47_639_3


# find 999999/1603/47/639/3/1603.47.639.3.tab -mtime -1 -type f -exec ls -l {} \;
# find 999999/1603/47/639/3/1603.47.639.3.tab -name
# find 999999/1603/47/639/3/1603.47.639.3.tab -name

# ls -l --time-style=long-iso find 999999/1603/47/639/3/
# find 999999/1603/47/639/3/ -mmin -60
# find 999999/1603/47/639/3/ -mmin -60

# echo "changed_recently"
# changed_recently 999999/1603/47/639/3/ 60



set +x
set +x

0 comments on commit b8f8d0a

Please sign in to comment.