요구 사항 : 다양한 형식 (Atom, 유효한 XML, 유효하지 않은 XML, CSV, 거의 쓰레기 등)으로 여러 소스의 데이터 피드를 구문 분석하고 결과 데이터를 삽입하는 python 프로젝트가 있습니다. 데이터베이스로. 캐치는 각 피드를 구문 분석하는 데 필요한 정보도 데이터베이스에 저장해야합니다.템플릿 구동 피드 파싱
현재 해결 방법 : 이전 솔루션은 원시 데이터에 평가되는 작은 파이썬 스크립트를 저장하고 파싱 된 데이터에 대한 데이터 개체를 반환하는 것이 었습니다. 나는이 방법으로 벗어나고 싶다. 분명히 불쾌한 보안 구멍을 열게된다.
이상 해결책 : 제가 찾고있는 것은 제가 피드 형식에 대한 템플릿 파일을 작성할 수 있도록 파이썬 용 템플릿 기반 피드 파서로 설명 할 것이고이 템플릿 파일은 다양한 데이터 형식을 이해하는 데 사용됩니다.
저는 과거에 이와 같은 것을 찾는데 제한된 성공을 거두었으며 누군가가 좋은 제안을하기를 희망했습니다.
감사합니다.
감사합니다 drdaeman, 정말 그 솔루션을 좋아하고 그것을 사용하여 끝낼 수 있습니다. 데이터베이스가 파싱 (parsing) 스크립트에 저장되어 있어야합니다. 데이터베이스 요구 사항의 이유는이 사이트의 관리자가 이상적으로 웹 인터페이스에 이러한 구문 분석 스크립트 (수십 개가 있음)를 만들고 관리 할 수 있지만 관리자가 신뢰할 수있는 사용자 일지라도 그들은 eval'ed를 얻는 것을 끝내는 코드를 입력한다. 새로운 모듈을 만들거나 제안 사항을 따르는 것이 중요하다고 생각합니다. 다시 한 번 감사드립니다! –
감사. 코드가 최종 사용자가 액세스 할 수 있어야한다면 DSL 또는 샌드 박스를 잘못 작성하여 신뢰할 수있는 파이썬 모듈 및 작업에만 액세스 할 수 있도록 허용하는 것이 좋습니다. 불행히도 저는 그런 것을 개발하지 않았기 때문에 아이디어가별로 없습니다. 어쩌면이 링크가 유용 할 것입니다. http://pypi.python.org/pypi/RestrictedPython/ – drdaeman
다시 한번 귀하의 조언에 감사드립니다. RestrictedPython 개념 내에서 eval과 함께 끝낼 수도 있습니다. 또는 야심 차게 느끼는 경우이를 수행 할 파이썬 모듈을 만들 수도 있습니다. –