본문 바로가기

안녕하세요!

csv

[ Python ] Open WebUI 커스터마이징 - file upload(1) try_upload def try_upload(path, mime_type, upload_name): with open(path, "rb") as f: return requests.post( f"{WEBUI}/api/v1/files/", headers=HDR_FILE, files={"file": (upload_name, f, mime_type)}, timeout=60, ) path : 업로드할 로컬 파일의 절대 경로mime_type : 서버에 전달할 콘텐츠 타입upload_name : 서버/웹UI에 표시될 파일명 with open(path, "rb") as f - 바이너리 읽기 모드로 file .. 더보기
[ Python ] Open WebUI 커스터마이징 - csv 파일(3) rows_to_markdown_temp def rows_to_markdown_temp(rows, base_name, folder): """CSV 업로드가 400이면 Markdown 표로 우회""" md_headers = ["id", "이름", "성별", "나이", "desc"] lines = ["| " + " | ".join(md_headers) + " |", "| " + " | ".join(["---"] * len(md_headers)) + " |"] for r in rows: vals = [str(r.get(k, "")) for k in md_headers] lines.append("| " + " | ".join(vals) + " |.. 더보기
[ Python ] Open WebUI 커스터마이징 - csv 파일(2) write_temp_csv_with_desc이 def에서는 csv 파일 생성 시, uploads 경로에 전처리 파일의 임시파일을 생성하게 되는데이 __prepared__ 파일은 임시로 저장되는 파일이므로다음에 있을 함수에서 처리하는 작업을 생략하게 된다. def write_temp_csv_with_desc(rows, headers, base_name, folder): import csv base_no_ext = os.path.splitext(base_name)[0] or "upload" out_name = f"{base_no_ext}_with_desc.csv" out_path = os.path.join(folder, f"__prepared__{out_name}") # 업로드 폴더에.. 더보기
[ CAP ] 기본 entity 변경사항이 반영된 entity 데이터 값 보여주기 service.cds service service1 sap.fe.featureShowcase 네임스페이스를 persistence로 초기화하고, 이 경로에 있는 schema.cds를 사용 한다. schema.cds에는 앞으로 사용할 테이블의 Attribute와 Tuple의 값들을 나열해 놓은 entity들이 선언되어 있다. 이제 다양한 공간에서 여러 가지의 action을 사용하기 위한 service를 service1로 사용하게끔 입력해 준다. @Capabilities.SortRestrictions.NonSortableProperties 어노테이션을 쓰게 되면, 배열 값에 입력한 값을 제외하고 데이터 값들이 정렬된다. 즉, 생성 및 수정에 관한 정보는 데이터가 정렬될 때 정렬 기준에서 비활성화됨으로써 해당 .. 더보기
[ CAP ] Views and Projections Views and Projections The as select from Variant entity Bbao1 as SELECT from Doe; entity Bbao2 as SELECT from Employees { * }; entity Bbao3 as SELECT from Employees LEFT JOIN Doe on Employees.ID = Doe.ID { bbao, doe as doebbao, sum(coding) as diary } where exists ( SELECT 1 as anyXY from SomeOtheEntity as soe where soe.x = y ) group by bbao, doe order by diary asc; as select from을 사용함으로써 관계형 데이터.. 더보기
[ CAP ] Annotating Media Elements Annotating Media Elements @Core.MediaType element에 diret로 혹은 redirect로 미디어 데이터가 포함되어 있음을 나타낸다. MIME 유형이 포함된 문자열이거나, MIME 유형이 포함된 경로가 있다. @Core.IsMediaType element에 MIME 유형이 포함되어 있으며, @Core.MediaType이 이 element를 참조할 수 있다. @Core.IsURL @Core.MediaType element에 미디어 데이터를 가리키는 URL이 포함되어 있다. @Core.ContentDisposition.Filename element가 로컬에 다운로드 및 저장되는 첨부파일로 표시됨을 나타낸다. 이 annotation의 값은 파일의 이름을 포함하는 요소에 대한.. 더보기
[ CAP ] CDS를 Fiori UI로 표현하기 이번에는 내가 만든 CDS의 데이터 값들을 화면에 표현해보자! 지금까지는 entity 간의 관계와 entity에 선언돼 있는 변수들의 Attribute, 이에 관한 데이터 정보를 담고 있는 CSV 파일 등이 어떤 기능을 하고 있는지 간략히 알아보았다. 그렇다면 이제는 이 데이터 정보를 내가 볼 수 있는 것이 중요하다고 하겠다. 조금 많이 헤맸지만 의외로 기본적인 UI로 표현하는 것은 어렵지 않았다! Fiori UI CDS 생성 입력해두었던 데이터 값들을 불러오기 위한 cds를 app 폴더 바로 아래에 하나 생성한다. annotate UI using { com.sap.shoppingmall as my } from '../db/schema'; annotate my.Clothes with @( UI: { Se.. 더보기
[ CAP ] Temporal Data 적용시키기 저번주 공부를 하면서 느꼈던 점은 기본적인 기능 하나를 구현하는 것에서 성취감을 느끼기도 했지만, 너무 깊게만 파고들진 않았나 싶기도 하였다. 또 반면에 그렇다고 과연 내가 깊게 파고들었다고 생각했던 개념들을 다 파악하고 있던 것도 아니었기에 성취감보다도 자괴감과 함께 자신감이 떨어지는 시간이기도 했다. 하지만 여기서 포기할소냐! 좀 더 체계적이고 유의미한 학습을 진행해보자! Temporal Data [ CAP ] Temporal Database Temporal Database Temporal Database는 시간 관련 Instance Data, 즉 과거, 현재, 미래와 관련된 Data 정보를 저장한다. Valid Time(유효 시간)은 현실에서 어떠한 사실이 True인 기간이다. Trasaction .. 더보기

loading