Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| fd94627fdb | |||
| 2c5fef29df | |||
| 8f747ef75c |
23
Makefile
23
Makefile
@@ -3,21 +3,32 @@
|
|||||||
|
|
||||||
MAKE_ROOT = $(shell pwd)
|
MAKE_ROOT = $(shell pwd)
|
||||||
|
|
||||||
|
### Input data
|
||||||
|
# I received ssj500k in one .xml file,
|
||||||
|
# kres is composed of many .xml files
|
||||||
|
# I generated srl tags for kres in separate .json files
|
||||||
|
# (for each kres.xml file there is a kres.json file with srl tags)
|
||||||
|
# SSJ_FILE = "$(MAKE_ROOT)/data/samples/ssj_xml/ssj500k-sl.body.sample.xml"
|
||||||
|
SSJ_FILE = "$(MAKE_ROOT)/data/ssj_file_link"
|
||||||
|
# KRES_FOLDER = "$(MAKE_ROOT)/data/samples/kres_xml"
|
||||||
|
KRES_FOLDER = "$(MAKE_ROOT)/data/kres_xml_folder_link"
|
||||||
|
# KRES_SRL_FOLDER = "$(MAKE_ROOT)/data/samples/kres_srl_json"
|
||||||
|
KRES_SRL_FOLDER = "$(MAKE_ROOT)/data/kres_json_folder_link"
|
||||||
|
|
||||||
OUTPUT = "db"
|
OUTPUT = "db"
|
||||||
# OUTPUT = "file"
|
# OUTPUT = "file"
|
||||||
OUTDIR = "/tmp/three" # if you're running this in docker, make sure to mount the volume
|
OUTDIR = "/tmp/three" # if you're running this in docker, make sure to mount the volume
|
||||||
DBADDR = "0.0.0.0:27017" # don't use localhost
|
DBADDR = "0.0.0.0:27017" # don't use localhost
|
||||||
|
|
||||||
N_CORES = 5
|
|
||||||
# insert kres files into database in chunks, for fewer connections
|
|
||||||
KRES_CHUNK_SIZE = 30
|
|
||||||
|
|
||||||
# Some backend parameters can be found in conf file (see make backend)
|
|
||||||
|
|
||||||
# credentials from .gitignored file
|
# credentials from .gitignored file
|
||||||
# create it from env.default
|
# create it from env.default
|
||||||
include env.local
|
include env.local
|
||||||
|
|
||||||
|
N_CORES = 5
|
||||||
|
# insert kres files into database in chunks, for fewer connections
|
||||||
|
KRES_CHUNK_SIZE = 30
|
||||||
|
|
||||||
|
# Backend parameters found in conf file (see make backend)
|
||||||
export
|
export
|
||||||
|
|
||||||
.PHONY: python-env fill-database
|
.PHONY: python-env fill-database
|
||||||
|
|||||||
15
README.md
15
README.md
@@ -81,18 +81,21 @@ $ make backend-dev
|
|||||||
$ make backend-prod
|
$ make backend-prod
|
||||||
```
|
```
|
||||||
|
|
||||||
|
API endpoints:
|
||||||
|
|
||||||
|
* GET word list (pre-cached)
|
||||||
|
* GET reduced frames (pre-cached)
|
||||||
|
* POST senses
|
||||||
|
* User auth logic
|
||||||
|
|
||||||
|
|
||||||
### Vue frontend (1 container)
|
### Vue frontend (1 container)
|
||||||
Relies on Flask backend.
|
Relies on Flask backend.
|
||||||
Before running `make`, you might need to set the correct api address.
|
Before running `make`, you might need to set the correct api address.
|
||||||
Check `./src/frontend_vue/config/config_prod.json`.
|
Check `./src/frontend_vue/config/config_prod.json`.
|
||||||
bash
|
bash
|
||||||
```
|
```
|
||||||
# development
|
# $ make frontend-dev # development
|
||||||
# ./config_dev.json
|
|
||||||
$ make frontend-dev # development
|
|
||||||
|
|
||||||
# production
|
|
||||||
# ./config_prod.json
|
|
||||||
$ make frontend-prod
|
$ make frontend-prod
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
21
env.default
21
env.default
@@ -1,27 +1,6 @@
|
|||||||
### Credentials
|
|
||||||
|
|
||||||
MONGOEXPRESS_USER = mxuser
|
MONGOEXPRESS_USER = mxuser
|
||||||
MONGOEXPRESS_PASS = mxuserpassword
|
MONGOEXPRESS_PASS = mxuserpassword
|
||||||
DB_ADM_USER = valadmin
|
DB_ADM_USER = valadmin
|
||||||
DB_ADM_PASS = valadminpass
|
DB_ADM_PASS = valadminpass
|
||||||
DB_USR_USER = valuser
|
DB_USR_USER = valuser
|
||||||
DB_USR_PASS = valuserpass
|
DB_USR_PASS = valuserpass
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
### Input data
|
|
||||||
|
|
||||||
# I received ssj500k in one .xml file,
|
|
||||||
# kres is composed of many .xml files
|
|
||||||
# I generated srl tags for kres in separate .json files
|
|
||||||
# (for each kres.xml file there is a kres.json file with srl tags)
|
|
||||||
|
|
||||||
# Use the files from /data/samples.tar.gz for a quick app build with a subset of data.
|
|
||||||
|
|
||||||
SSJ_FILE = "$(MAKE_ROOT)/data/samples/ssj_xml/ssj500k-sl.body.sample.xml"
|
|
||||||
# SSJ_FILE = "$(MAKE_ROOT)/data/ssj_file_link"
|
|
||||||
KRES_FOLDER = "$(MAKE_ROOT)/data/samples/kres_xml"
|
|
||||||
# KRES_FOLDER = "$(MAKE_ROOT)/data/kres_xml_folder_link"
|
|
||||||
KRES_SRL_FOLDER = "$(MAKE_ROOT)/data/samples/kres_srl_json"
|
|
||||||
# KRES_SRL_FOLDER = "$(MAKE_ROOT)/data/kres_json_folder_link"
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,25 +0,0 @@
|
|||||||
# Environment specific Makefile parameters
|
|
||||||
# Copy this file and name it makefile_args
|
|
||||||
# makefile_args gets .gitignored
|
|
||||||
|
|
||||||
# SSJ_FILE = "$(MAKE_ROOT)/data/samples/ssj_xml/ssj500k-sl.body.sample.xml"
|
|
||||||
SSJ_FILE = "$(MAKE_ROOT)/data/ssj_file_link"
|
|
||||||
# KRES_FOLDER = "$(MAKE_ROOT)/data/samples/kres_xml"
|
|
||||||
KRES_FOLDER = "$(MAKE_ROOT)/data/kres_xml_folder_link"
|
|
||||||
# KRES_SRL_FOLDER = "$(MAKE_ROOT)/data/samples/kres_srl_json"
|
|
||||||
KRES_SRL_FOLDER = "$(MAKE_ROOT)/data/kres_json_folder_link"
|
|
||||||
|
|
||||||
OUTPUT = "db"
|
|
||||||
# OUTPUT = "file"
|
|
||||||
OUTDIR = "/tmp/three" # if you're running this in docker, make sure to mount the volume
|
|
||||||
DBADDR = "0.0.0.0:27017" # don't use localhost
|
|
||||||
|
|
||||||
# credentials from .gitignored file
|
|
||||||
# create it from env.default
|
|
||||||
include env.local
|
|
||||||
|
|
||||||
N_CORES = 5
|
|
||||||
# insert kres files into database in chunks, for fewer connections
|
|
||||||
KRES_CHUNK_SIZE = 30
|
|
||||||
|
|
||||||
# Backend parameters found in conf file (see make backend)
|
|
||||||
@@ -9,8 +9,7 @@ info:
|
|||||||
echo "Pick either dev or prod."
|
echo "Pick either dev or prod."
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
- docker kill $(CONNAME)
|
- docker rm -f $(CONNAME)
|
||||||
- docker rm $(CONNAME)
|
|
||||||
|
|
||||||
build-container:
|
build-container:
|
||||||
docker build . -t $(IMGNAME)
|
docker build . -t $(IMGNAME)
|
||||||
@@ -21,3 +20,5 @@ dev: build-container clean
|
|||||||
prod: build-container clean
|
prod: build-container clean
|
||||||
docker run --name $(CONNAME) -d -p 8080:8080 -v $(shell pwd):/src $(IMGNAME) /src/ops_scripts/prod.sh
|
docker run --name $(CONNAME) -d -p 8080:8080 -v $(shell pwd):/src $(IMGNAME) /src/ops_scripts/prod.sh
|
||||||
|
|
||||||
|
node-env: clean
|
||||||
|
docker run --name $(CONNAME) -it -p 8080:8080 -v $(shell pwd):/src $(IMGNAME)
|
||||||
|
|||||||
5721
src/frontend_vue/package-lock.json
generated
5721
src/frontend_vue/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -10,50 +10,52 @@
|
|||||||
"build": "node build/build.js"
|
"build": "node build/build.js"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"ajv": "^6.10.0",
|
||||||
"axios": "^0.18.0",
|
"axios": "^0.18.0",
|
||||||
"bootstrap-vue": "^2.0.0-rc.11",
|
"bootstrap-vue": "^2.0.0-rc.19",
|
||||||
|
"jquery": "^3.4.0",
|
||||||
"sha256": "^0.2.0",
|
"sha256": "^0.2.0",
|
||||||
"vue": "^2.5.2",
|
"vue": "^2.6.10",
|
||||||
"vue-cookies": "^1.5.6",
|
"vue-cookies": "^1.5.13",
|
||||||
"vue-router": "^3.0.1",
|
"vue-router": "^3.0.6",
|
||||||
"vue-spinner": "^1.0.3"
|
"vue-spinner": "^1.0.3"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"autoprefixer": "^7.1.2",
|
"autoprefixer": "^7.1.2",
|
||||||
"babel-core": "^6.22.1",
|
"babel-core": "^6.22.1",
|
||||||
"babel-helper-vue-jsx-merge-props": "^2.0.3",
|
"babel-helper-vue-jsx-merge-props": "^2.0.3",
|
||||||
"babel-loader": "^7.1.1",
|
"babel-loader": "^7.1.5",
|
||||||
"babel-plugin-syntax-jsx": "^6.18.0",
|
"babel-plugin-syntax-jsx": "^6.18.0",
|
||||||
"babel-plugin-transform-runtime": "^6.22.0",
|
"babel-plugin-transform-runtime": "^6.22.0",
|
||||||
"babel-plugin-transform-vue-jsx": "^3.5.0",
|
"babel-plugin-transform-vue-jsx": "^3.5.0",
|
||||||
"babel-preset-env": "^1.3.2",
|
"babel-preset-env": "^1.3.2",
|
||||||
"babel-preset-stage-2": "^6.22.0",
|
"babel-preset-stage-2": "^6.22.0",
|
||||||
"chalk": "^2.0.1",
|
"chalk": "^2.4.2",
|
||||||
"copy-webpack-plugin": "^4.0.1",
|
"copy-webpack-plugin": "^4.6.0",
|
||||||
"css-loader": "^0.28.0",
|
"css-loader": "^2.1.1",
|
||||||
"extract-text-webpack-plugin": "^3.0.0",
|
"extract-text-webpack-plugin": "^3.0.0",
|
||||||
"file-loader": "^1.1.4",
|
"file-loader": "^1.1.4",
|
||||||
"friendly-errors-webpack-plugin": "^1.6.1",
|
"friendly-errors-webpack-plugin": "^1.6.1",
|
||||||
"html-webpack-plugin": "^2.30.1",
|
"html-webpack-plugin": "^2.30.1",
|
||||||
"node-notifier": "^5.1.2",
|
"node-notifier": "^5.4.0",
|
||||||
"optimize-css-assets-webpack-plugin": "^3.2.0",
|
"optimize-css-assets-webpack-plugin": "^5.0.1",
|
||||||
"ora": "^1.2.0",
|
"ora": "^1.2.0",
|
||||||
"portfinder": "^1.0.13",
|
"portfinder": "^1.0.20",
|
||||||
"postcss-import": "^11.0.0",
|
"postcss-import": "^11.0.0",
|
||||||
"postcss-loader": "^2.0.8",
|
"postcss-loader": "^2.1.6",
|
||||||
"postcss-url": "^7.2.1",
|
"postcss-url": "^7.2.1",
|
||||||
"rimraf": "^2.6.0",
|
"rimraf": "^2.6.3",
|
||||||
"semver": "^5.3.0",
|
"semver": "^5.7.0",
|
||||||
"shelljs": "^0.7.6",
|
"shelljs": "^0.7.6",
|
||||||
"uglifyjs-webpack-plugin": "^1.1.1",
|
"uglifyjs-webpack-plugin": "^1.3.0",
|
||||||
"url-loader": "^0.5.8",
|
"url-loader": "^1.1.2",
|
||||||
"vue-loader": "^13.3.0",
|
"vue-loader": "^13.7.3",
|
||||||
"vue-style-loader": "^3.0.1",
|
"vue-style-loader": "^3.0.1",
|
||||||
"vue-template-compiler": "^2.5.2",
|
"vue-template-compiler": "^2.6.10",
|
||||||
"webpack": "^3.6.0",
|
"webpack": "^3.6.0",
|
||||||
"webpack-bundle-analyzer": "^2.9.0",
|
"webpack-bundle-analyzer": "^3.3.2",
|
||||||
"webpack-dev-server": "^2.9.1",
|
"webpack-dev-server": "^2.11.5",
|
||||||
"webpack-merge": "^4.1.0"
|
"webpack-merge": "^4.2.1"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">= 6.0.0",
|
"node": ">= 6.0.0",
|
||||||
|
|||||||
@@ -7,3 +7,25 @@ export default {
|
|||||||
name: 'App',
|
name: 'App',
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
body {
|
||||||
|
font-family: cambria;
|
||||||
|
}
|
||||||
|
.ulred {
|
||||||
|
color: #b71511;
|
||||||
|
color: rgb(183,21,17);
|
||||||
|
}
|
||||||
|
.lmenu td {
|
||||||
|
color: #9e9e9e;
|
||||||
|
}
|
||||||
|
.redlinks a {
|
||||||
|
color: #9e9e9e;
|
||||||
|
}
|
||||||
|
.redlinks a:hover {
|
||||||
|
color: #b71511;
|
||||||
|
}
|
||||||
|
.text-secondary {
|
||||||
|
color: #9e9e9e !important;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@@ -1,20 +1,17 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<p
|
|
||||||
v-if="this.$root.store.api_error !== null"
|
|
||||||
class="text-warning"
|
|
||||||
>
|
|
||||||
api_error: {{ this.$root.store.api_error }}
|
|
||||||
</p>
|
|
||||||
<Nav></Nav>
|
<Nav></Nav>
|
||||||
<div class="my-home container-fluid">
|
<div class="my-home container-fluid">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div id="serach" class="col-sm-2 border-right fill" :key=this.$root.store.indexReloader>
|
<div id="search" class="col-sm-2 border-right fill" :key=this.$root.store.indexReloader>
|
||||||
<LWords
|
<LWords
|
||||||
v-if="this.$root.store.selIndex.val === 'words'"></LWords>
|
v-if="this.$root.store.selIndex.val === 'words'"></LWords>
|
||||||
<LFunctors v-else></LFunctors>
|
<LFunctors v-else></LFunctors>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-sm-10">
|
<div class="col-sm-10">
|
||||||
|
<p v-if="this.$root.store.api_error != null">
|
||||||
|
{{ this.$root.store.api_error }}
|
||||||
|
</p>
|
||||||
<router-view></router-view>
|
<router-view></router-view>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div class="redlinks">
|
||||||
<table>
|
<table>
|
||||||
<tr v-for="functor in functors">
|
<tr v-for="functor in functors">
|
||||||
<td><a href="#" v-on:click="selectFunctor(functor)">{{ functor[0] }}</a></td>
|
<td><a href="#" v-on:click="selectFunctor(functor)">{{ functor[0] }}</a></td>
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div class="redlinks">
|
||||||
<select v-model="selectedLetter">
|
<select v-model="selectedLetter">
|
||||||
<option v-for="letter in alphabet" :value="letter">
|
<option v-for="letter in alphabet" :value="letter">
|
||||||
{{ letter.toUpperCase() }} ({{ getNumWords(letter) }})
|
{{ letter.toUpperCase() }} ({{ getNumWords(letter) }})
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div class="redlinks">
|
||||||
<div class="col-sm-2">
|
<div class="col-sm-2">
|
||||||
<a href="#" v-on:click="this.$root.routeBack">Nazaj</a>
|
<a href="#" v-on:click="this.$root.routeBack">Nazaj</a>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<!--load mode-->
|
<!--load mode-->
|
||||||
<div v-if="show_loader">
|
<div v-if="state === 'loading'">
|
||||||
<pulse-loader :color="loader_color"></pulse-loader>
|
<pulse-loader :color="loader_color"></pulse-loader>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -76,16 +76,11 @@ export default {
|
|||||||
},
|
},
|
||||||
state: "loading", // editing, normal
|
state: "loading", // editing, normal
|
||||||
request_reload: false,
|
request_reload: false,
|
||||||
loader_color: "#007bff",
|
loader_color: "#b71511",
|
||||||
}},
|
}},
|
||||||
created: function () {
|
created: function () {
|
||||||
this.reload()
|
this.reload()
|
||||||
},
|
},
|
||||||
computed: {
|
|
||||||
show_loader: function () {
|
|
||||||
return this.state === "loading" && this.$root.store.api_error !== null
|
|
||||||
}
|
|
||||||
},
|
|
||||||
watch: {
|
watch: {
|
||||||
hw: function () {
|
hw: function () {
|
||||||
this.reload()
|
this.reload()
|
||||||
@@ -118,6 +113,7 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
var component = this
|
var component = this
|
||||||
|
component.state = "loading"
|
||||||
this.$http.get(
|
this.$http.get(
|
||||||
this.$root.store.api_addr +
|
this.$root.store.api_addr +
|
||||||
"/api/functor-frames" +
|
"/api/functor-frames" +
|
||||||
@@ -131,6 +127,7 @@ export default {
|
|||||||
})
|
})
|
||||||
.catch(function(error) {
|
.catch(function(error) {
|
||||||
component.$root.store.api_error = error
|
component.$root.store.api_error = error
|
||||||
|
component.state = "error"
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
getFrames: function (hw, reduce_fun=null) {
|
getFrames: function (hw, reduce_fun=null) {
|
||||||
@@ -149,6 +146,7 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
var component = this
|
var component = this
|
||||||
|
component.state = "loading"
|
||||||
this.$http.get(
|
this.$http.get(
|
||||||
this.$root.store.api_addr + "/api/frames" +
|
this.$root.store.api_addr + "/api/frames" +
|
||||||
"?hw=" + hw + "&rf=" + reduce_fun +
|
"?hw=" + hw + "&rf=" + reduce_fun +
|
||||||
@@ -161,6 +159,7 @@ export default {
|
|||||||
})
|
})
|
||||||
.catch(function(error) {
|
.catch(function(error) {
|
||||||
component.$root.store.api_error = error
|
component.$root.store.api_error = error
|
||||||
|
component.state = "error"
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
buildSentences: function () {
|
buildSentences: function () {
|
||||||
|
|||||||
@@ -2,7 +2,8 @@
|
|||||||
<nav>
|
<nav>
|
||||||
<b-navbar toggleable="md" type="light" variant="light">
|
<b-navbar toggleable="md" type="light" variant="light">
|
||||||
<b-navbar-toggle target="nav_collapse"></b-navbar-toggle>
|
<b-navbar-toggle target="nav_collapse"></b-navbar-toggle>
|
||||||
<b-navbar-brand>Vezljivostni vzorci slovenskih glagolov</b-navbar-brand>
|
<!--b-navbar-brand>Vezljivostni vzorci slovenskih glagolov</b-navbar-brand-->
|
||||||
|
<b-navbar-brand>VEZLJIVOSTNI VZORCI SLOVENSKIH GLAGOLOV</b-navbar-brand>
|
||||||
<b-collapse is-nav id="nav_collapse">
|
<b-collapse is-nav id="nav_collapse">
|
||||||
|
|
||||||
<b-navbar-nav>
|
<b-navbar-nav>
|
||||||
@@ -104,3 +105,15 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
.bg-light {
|
||||||
|
background-color: rgb(183,21,17,0.9) !important;
|
||||||
|
}
|
||||||
|
nav a {
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
nav a:hover {
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div class=redlinks>
|
||||||
<div class="col-sm-2">
|
<div class="col-sm-2">
|
||||||
<a href="#" v-on:click="this.$root.routeBack">Nazaj</a>
|
<a href="#" v-on:click="this.$root.routeBack">Nazaj</a>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div class="redlinks">
|
||||||
<div class="col-sm-2">
|
<div class="col-sm-2">
|
||||||
<a href="#" v-on:click="this.$root.routeBack">Nazaj</a>
|
<a href="#" v-on:click="this.$root.routeBack">Nazaj</a>
|
||||||
</div>
|
</div>
|
||||||
@@ -9,19 +9,19 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="email"
|
||||||
class="form-control js-login__username"
|
class="form-control"
|
||||||
placeholder="Uporabnik"
|
placeholder="e-pošta"
|
||||||
v-model="credentials.username"
|
v-model="credentials.email"
|
||||||
autocomplete="off"
|
autocomplete="off"
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<input
|
<input
|
||||||
type="email"
|
type="text"
|
||||||
class="form-control"
|
class="form-control js-login__username"
|
||||||
placeholder="e-pošta"
|
placeholder="Uporabnik"
|
||||||
v-model="credentials.email"
|
v-model="credentials.username"
|
||||||
autocomplete="off"
|
autocomplete="off"
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
@@ -38,7 +38,7 @@
|
|||||||
<input
|
<input
|
||||||
type="password"
|
type="password"
|
||||||
class="form-control js-login__password "
|
class="form-control js-login__password "
|
||||||
placeholder="Ponovite geslo."
|
placeholder="Ponovite geslo"
|
||||||
v-model="credentials.snd_password"
|
v-model="credentials.snd_password"
|
||||||
autocomplete="off"
|
autocomplete="off"
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -33,10 +33,8 @@ def reduce_0(frames, valdb_sensemap=None):
|
|||||||
separated_frames = []
|
separated_frames = []
|
||||||
for frame in frames:
|
for frame in frames:
|
||||||
for tid in frame.tids:
|
for tid in frame.tids:
|
||||||
tmp_frame = frame
|
tmp_frame = DC(frame)
|
||||||
tmp_frame.tids = [tid]
|
tmp_frame.tids = [tid]
|
||||||
tmp_frame.sort_slots()
|
|
||||||
|
|
||||||
separated_frames.append(tmp_frame)
|
separated_frames.append(tmp_frame)
|
||||||
sorting_strings.append("".join(
|
sorting_strings.append("".join(
|
||||||
[slot.functor for slot in tmp_frame.slots]
|
[slot.functor for slot in tmp_frame.slots]
|
||||||
|
|||||||
Reference in New Issue
Block a user