Skip to content

Commit

Permalink
Merge pull request #25 from Jan-PieterK/develop_leendert
Browse files Browse the repository at this point in the history
upgrade python version for black
  • Loading branch information
Nenodema authored Jan 12, 2024
2 parents ad0dfc5 + 9a40b2d commit 89fe4af
Show file tree
Hide file tree
Showing 12 changed files with 172 additions and 145 deletions.
6 changes: 3 additions & 3 deletions .github/workflows/python-code-checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
- uses: actions/checkout@v2
- uses: actions/setup-python@v1
with:
python-version: 3.11.6
python-version: 3.11.7
- run: |
python -m pip install --upgrade pip
pip install black==22.12.0
Expand All @@ -26,7 +26,7 @@
- uses: actions/checkout@v2
- uses: actions/setup-python@v1
with:
python-version: 3.11.6
python-version: 3.11.7
- run: |
python -m pip install --upgrade pip
pip install flake8==5.0.4
Expand All @@ -38,7 +38,7 @@
- uses: actions/checkout@v2
- uses: actions/setup-python@v1
with:
python-version: 3.11.6
python-version: 3.11.7
- run: |
python -m pip install --upgrade pip
pip install isort==5.11.4
Expand Down
4 changes: 2 additions & 2 deletions manage.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

def main():
"""Run administrative tasks."""
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'src.settings')
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "src.settings")
try:
from django.core.management import execute_from_command_line
except ImportError as exc:
Expand All @@ -18,5 +18,5 @@ def main():
execute_from_command_line(sys.argv)


if __name__ == '__main__':
if __name__ == "__main__":
main()
2 changes: 1 addition & 1 deletion src/asgi.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,6 @@

from django.core.asgi import get_asgi_application

os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'src.settings')
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "src.settings")

application = get_asgi_application()
6 changes: 3 additions & 3 deletions src/converter.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@


def is_valid_csv_format(submitted_text):
pattern_semi_colon = r'^[A-Za-z0-9]{3};\d+(\.\d+){0,2};[^;]*$'
pattern_comma = r'^[A-Za-z0-9]{3},\d+(\.\d+){0,2},[^,]*$'
pattern_semi_colon = r"^[A-Za-z0-9]{3};\d+(\.\d+){0,2};[^;]*$"
pattern_comma = r"^[A-Za-z0-9]{3},\d+(\.\d+){0,2},[^,]*$"

submitted_text = submitted_text.split('\n')
submitted_text = submitted_text.split("\n")
submitted_text = list(filter(None, submitted_text))
for line in submitted_text:
if not re.match(pattern_comma, line) and not re.match(pattern_semi_colon, line):
Expand Down
2 changes: 0 additions & 2 deletions src/hl7/apps.py
Original file line number Diff line number Diff line change
@@ -1,3 +1 @@
from django.apps import AppConfig


22 changes: 14 additions & 8 deletions src/hl7/migrations/0001_initial.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,20 +4,26 @@


class Migration(migrations.Migration):

initial = True

dependencies = [
]
dependencies = []

operations = [
migrations.CreateModel(
name='CSVData',
name="CSVData",
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('column1', models.CharField(max_length=100)),
('column2', models.CharField(max_length=100)),
('column3', models.CharField(max_length=100)),
(
"id",
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
("column1", models.CharField(max_length=100)),
("column2", models.CharField(max_length=100)),
("column3", models.CharField(max_length=100)),
],
),
]
21 changes: 14 additions & 7 deletions src/hl7/urls.py
Original file line number Diff line number Diff line change
@@ -1,15 +1,22 @@
from django.urls import path
from .views import home_view, _csv_to_hl7, _text_to_hl7, _hl7_to_csv, _hl7_to_excel, _excel_to_hl7
from .views import (
home_view,
_csv_to_hl7,
_text_to_hl7,
_hl7_to_csv,
_hl7_to_excel,
_excel_to_hl7,
)
from django.conf import settings
from django.conf.urls.static import static

urlpatterns = [
path("", home_view, name='home'),
path('csv-to-hl7/', _csv_to_hl7, name='csv-to-hl7'),
path('excel-to-hl7/', _excel_to_hl7, name='excel-to-hl7'),
path('text-to-hl7/', _text_to_hl7, name='text-to-hl7'),
path('hl7-to-csv/', _hl7_to_csv, name='hl7-to-csv'),
path('hl7-to-excel/', _hl7_to_excel, name='hl7-to-excel'),
path("", home_view, name="home"),
path("csv-to-hl7/", _csv_to_hl7, name="csv-to-hl7"),
path("excel-to-hl7/", _excel_to_hl7, name="excel-to-hl7"),
path("text-to-hl7/", _text_to_hl7, name="text-to-hl7"),
path("hl7-to-csv/", _hl7_to_csv, name="hl7-to-csv"),
path("hl7-to-excel/", _hl7_to_excel, name="hl7-to-excel"),
]

if settings.DEBUG:
Expand Down
170 changes: 93 additions & 77 deletions src/hl7/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,143 +6,159 @@


def home_view(request):
return render(request,
"home.html")
return render(request, "home.html")


def _excel_to_hl7(request):
if request.method == 'POST':
if 'excel_file' in request.FILES:
excel_file = request.FILES['excel_file']
if excel_file.name.endswith('.xlsx'):
if request.method == "POST":
if "excel_file" in request.FILES:
excel_file = request.FILES["excel_file"]
if excel_file.name.endswith(".xlsx"):
try:
excel_file_path = excel_file
hl7_message = excel_to_hl7(excel_file_path)
return render(request,
'excel_to_hl7.html',
{'hl7_message': hl7_message})
return render(
request, "excel_to_hl7.html", {"hl7_message": hl7_message}
)
except Exception as e:
return render(request,
'excel_to_hl7.html',
{'error_message': f'Error: {e}'})
return render(
request, "excel_to_hl7.html", {"error_message": f"Error: {e}"}
)
else:
return render(request,
'excel_to_hl7.html',
{'error_message': 'Invalid file format. Please upload an Excel file.'})
return render(
request,
"excel_to_hl7.html",
{
"error_message": "Invalid file format. Please upload an Excel file."
},
)
else:
return render(request,
'excel_to_hl7.html',
{'error_message': 'No file uploaded. Please select an Excel file to upload.'})
return render(request,
'excel_to_hl7.html')
return render(
request,
"excel_to_hl7.html",
{
"error_message": "No file uploaded. Please select an Excel file to upload."
},
)
return render(request, "excel_to_hl7.html")


def _csv_to_hl7(request):
if request.method == 'POST':
if 'csv_file' in request.FILES:
csv_file = request.FILES['csv_file']
if csv_file.name.endswith('.csv'):
data = csv_file.read().decode('utf-8')
if request.method == "POST":
if "csv_file" in request.FILES:
csv_file = request.FILES["csv_file"]
if csv_file.name.endswith(".csv"):
data = csv_file.read().decode("utf-8")
if not is_valid_csv_format(data):
return render(request,
'csv_to_hl7.html',
{'error_message': 'Please upload the required CSV format'})
return render(
request,
"csv_to_hl7.html",
{"error_message": "Please upload the required CSV format"},
)
hl7_message = csv_to_hl7(data)
return render(request,
'csv_to_hl7.html',
{'hl7_message': hl7_message})
return render(request, "csv_to_hl7.html", {"hl7_message": hl7_message})
else:
return render(request,
'csv_to_hl7.html',
{'error_message': 'Invalid file format. Please upload a CSV file.'})
return render(
request,
"csv_to_hl7.html",
{"error_message": "Invalid file format. Please upload a CSV file."},
)
else:
return render(request,
'csv_to_hl7.html',
{'error_message': 'No file uploaded. Please select a CSV file to upload.'})
return render(request,
'csv_to_hl7.html')
return render(
request,
"csv_to_hl7.html",
{
"error_message": "No file uploaded. Please select a CSV file to upload."
},
)
return render(request, "csv_to_hl7.html")


def _text_to_hl7(request):
if request.method == 'POST':
if request.method == "POST":
form = TextInputForm(request.POST)
if form.is_valid():
submitted_text = form.cleaned_data['text_input']
submitted_text = form.cleaned_data["text_input"]
try:
return render(request,
'text_to_hl7.html',
{'hl7_message': csv_to_hl7(submitted_text)})
return render(
request,
"text_to_hl7.html",
{"hl7_message": csv_to_hl7(submitted_text)},
)
except Exception as e:
return render(request,
'text_to_hl7.html',
{'error_message': f'Error: {e}'})
return render(
request, "text_to_hl7.html", {"error_message": f"Error: {e}"}
)
else:
return render(request,
'text_to_hl7.html',
{'error_message': 'No text submitted'})
return render(
request, "text_to_hl7.html", {"error_message": "No text submitted"}
)
else:
form = TextInputForm()

return render(request,
'text_to_hl7.html',
{'form': form})
return render(request, "text_to_hl7.html", {"form": form})


def _hl7_to_csv(request):
if request.method == 'POST':
if request.method == "POST":
form = TextInputForm(request.POST)
if form.is_valid():
submitted_text = form.cleaned_data['text_input']
if '|' not in submitted_text:
return render(request,
'hl7_to_csv.html',
{'error_message': 'Please upload the required HL7 format'})
submitted_text = form.cleaned_data["text_input"]
if "|" not in submitted_text:
return render(
request,
"hl7_to_csv.html",
{"error_message": "Please upload the required HL7 format"},
)
try:
csv_data = hl7_to_csv(submitted_text)
except:
pass

else:
context = {
'csv_data': csv_data,
"csv_data": csv_data,
}
return render(request, 'hl7_to_csv.html', context)
return render(request, "hl7_to_csv.html", context)
else:
return render(request,
'hl7_to_csv.html',
{'error_message': 'No HL7 message submitted'})
return render(
request,
"hl7_to_csv.html",
{"error_message": "No HL7 message submitted"},
)

form = TextInputForm()
context = {
'form': form,
"form": form,
}
return render(request, 'hl7_to_csv.html', context)
return render(request, "hl7_to_csv.html", context)


def _hl7_to_excel(request):
if request.method == 'POST':
if request.method == "POST":
form = TextInputForm(request.POST)
if form.is_valid():
submitted_text = form.cleaned_data['text_input']
if '|' not in submitted_text:
submitted_text = form.cleaned_data["text_input"]
if "|" not in submitted_text:
return render(
request,
'hl7_to_excel.html',
{'error_message': 'Please upload the required HL7 format'}
"hl7_to_excel.html",
{"error_message": "Please upload the required HL7 format"},
)
excel_data = hl7_to_excel(submitted_text)
response = HttpResponse(
content_type='application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
content_type="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
)
response['Content-Disposition'] = 'attachment; filename="converted_data.xlsx"'
response[
"Content-Disposition"
] = 'attachment; filename="converted_data.xlsx"'
response.write(excel_data)
return response
else:
return render(
request,
'hl7_to_excel.html',
{'error_message': 'No HL7 message submitted'}
"hl7_to_excel.html",
{"error_message": "No HL7 message submitted"},
)

return render(request,
'hl7_to_excel.html', {'form': TextInputForm()})
return render(request, "hl7_to_excel.html", {"form": TextInputForm()})
4 changes: 2 additions & 2 deletions src/manage.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

def main():
"""Run administrative tasks."""
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'src.settings')
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "src.settings")
try:
from django.core.management import execute_from_command_line
except ImportError as exc:
Expand All @@ -18,5 +18,5 @@ def main():
execute_from_command_line(sys.argv)


if __name__ == '__main__':
if __name__ == "__main__":
main()
Loading

0 comments on commit 89fe4af

Please sign in to comment.