getListOfVotes function
Get the Scrutin JSON files in designated directory and convert to ScrutinFromJson:
• mainDirectory
is the required Directory where Open Data ZIP was extracted. You can use App Support directory for instance.
Implementation
Future<List<ScrutinFromJson>> getListOfVotes(
{required Directory mainDirectory}) async {
List<ScrutinFromJson> _listToReturn = [];
Directory theDirectory = Directory(
mainDirectory.path + votesDirectory + jsonIntermediaryDirectory);
List<FileSystemEntity> _initialListOfFiles =
await theDirectory.list(recursive: true).toList();
for (FileSystemEntity file in _initialListOfFiles) {
if (file.path.split("/").last.substring(0, 1) != ".") {
// to exclude any system file
File _theFile = File(file.path);
dynamic response = await _theFile.readAsString();
if (response != null) {
Map<String, dynamic> _map = json.decode(response);
ScrutinFromJson _toReturn =
ScrutinFromJson.fromFrenchNationalAssemblyJson(_map);
_listToReturn.add(_toReturn);
}
}
}
return _listToReturn;
}