preparing folium iframe insertion

develop
gwen 3 years ago
parent f5090d799f
commit 33bdbab985

@ -43,6 +43,7 @@ class Acte(Document):
filename = StringField(required=True, max_length=100) filename = StringField(required=True, max_length=100)
ref_acte = StringField(required=True, max_length=100) ref_acte = StringField(required=True, max_length=100)
xmlcontent = StringField(required=True) # no max_length xmlcontent = StringField(required=True) # no max_length
place = DictField()
def db_connect(storage_ip, db_name, mongodb_admin, mongodb_password): def db_connect(storage_ip, db_name, mongodb_admin, mongodb_password):

@ -63,6 +63,7 @@ def make_json_collection(datasetcol: BsXMLDataSetCollection) -> JSONDataSetColle
output_datasets.datasets[dataset_filenamestem] = output_xmldataset output_datasets.datasets[dataset_filenamestem] = output_xmldataset
return output_datasets return output_datasets
def add_xmlcontent_tojson(jsondoc: JSONDataSetCollection, xmlcontent: TextDataSetCollection) -> JSONDataSetCollection: def add_xmlcontent_tojson(jsondoc: JSONDataSetCollection, xmlcontent: TextDataSetCollection) -> JSONDataSetCollection:
"adds xmlcontent to the json" "adds xmlcontent to the json"
jsondatasets = jsondoc.datasets jsondatasets = jsondoc.datasets
@ -79,6 +80,10 @@ def add_xmlcontent_tojson(jsondoc: JSONDataSetCollection, xmlcontent: TextDataSe
xmlds = xmldatasets[dataset_filenamestem] xmlds = xmldatasets[dataset_filenamestem]
# xmlds._load() # xmlds._load()
document['xmlcontent'] = xmldatasets[dataset_filenamestem]._load() document['xmlcontent'] = xmldatasets[dataset_filenamestem]._load()
if document['place']['latitude'] is not None:
document['folium'] = "FIXME"
else:
document['folium'] = None
else: else:
raise KeyError(f"xmlcontent datasets does not have the key : {dataset_filenamestem}") raise KeyError(f"xmlcontent datasets does not have the key : {dataset_filenamestem}")
# let's create subfolders, if they don't exist # let's create subfolders, if they don't exist

@ -127,10 +127,40 @@ class BsXMLDataSet(XMLDataSet):
#type_diplo = self.soup.body.div["subtype"] #type_diplo = self.soup.body.div["subtype"]
#diplo_state = self.soup.body.div["type"] #diplo_state = self.soup.body.div["type"]
# FIXME: location -> geolocallisation # geolocalisation
#place = self.soup.find_all("placeName", {"type": "production_place"})[0].text place = self.soup.find("place")
#if len(place != "NS":   place_name = place.find("placeName")
# place = place[0].text if place_name.get_text() != "NS":
pl_name = place_name.get_text()
else:
pl_name = "Non spécifié"
region_balise = place.find("region")
if region_balise is not None:
region = region_balise.get_text()
else:
region = "Non spécifié"
settlement = place.find("settlement")
if settlement is not None:
settlement = settlement.get_text()
else:
settlement = "Non spécifié"
geolocalisation = place.find("geo")
if geolocalisation is not None:
geolocalisation = geolocalisation.get_text()
latitude, longitude = geolocalisation.split(" ")
else:
latitude = None
longitude = None
place = dict(name=pl_name,
region=region,
settlement=settlement,
latitude = latitude,
longitude = longitude
)
return { return {
# "num_acte": counter, # "num_acte": counter,
"prince_name": self.find_prince_name(), "prince_name": self.find_prince_name(),
@ -141,7 +171,8 @@ class BsXMLDataSet(XMLDataSet):
"analysis": analyse, "analysis": analyse,
# "doc_acte": doc_query[0], # "doc_acte": doc_query[0],
"ref_acte": ref_acte, "ref_acte": ref_acte,
"transcribers": self.find_transcribers() "transcribers": self.find_transcribers(),
"place": place
# "state_doc": state_query[0], # "state_doc": state_query[0],
# "diplo_type_acte": diplo_query[0] # "diplo_type_acte": diplo_query[0]
} }
@ -254,18 +285,16 @@ class TextDataSetCollection(DataSetCollection):
filepath=str(filepath)) filepath=str(filepath))
return self return self
class FoliumHTMLDataSet(AbstractDataSet): #class FoliumHTMLDataSet(AbstractDataSet):
def __init__(self, filepath: str): # def __init__(self, filepath: str):
self._filepath = filepath # self._filepath = filepath
#
def _load(self) -> None: # def _load(self) -> None:
raise DataSetError('This dataset is WriteOnly') # raise DataSetError('This dataset is WriteOnly')
#
def _describe(self) -> Dict[str, Any]: # def _describe(self) -> Dict[str, Any]:
return dict(filepath=self._filepath) # return dict(filepath=self._filepath)
#
#def _save(self, data: Map) -> None: # def _save(self, data: Map) -> None:
def _save(self, data) -> None: # data.save(self._filepath)
# FIXME
data.save(self._filepath)

Loading…
Cancel
Save