Skip to content

Commit 13a7896

Browse files
author
sopi10
committed
first push
0 parents  commit 13a7896

17 files changed

+233
-0
lines changed

MANIFEST.in

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
include *.md
2+
recursive-include sm_lib *.txt

README.md

Whitespace-only changes.

build/lib/check_lib/__init__.py

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
#!/usr/bin/env python
2+
# -*- coding: utf-8 -*-
3+
4+
"""
5+
Ce module va verifier l'objet recu en parametre. Il faut que ca soit une
6+
liste de dictionnaire ou une liste de string. Si c'est une liste de dict
7+
on verifie que chaque dictionnaire continent bien les premiers et second
8+
arguments en keys.
9+
"""
10+
__version__="0.0.1"
11+
from .core import check_obj

build/lib/check_lib/core.py

+40
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
#!/usr/bin/env python
2+
# -*- coding: utf-8 -*-
3+
4+
"""
5+
Verification des objets passés en parametre
6+
7+
Usage:
8+
9+
>>> from check_lib import check_obj
10+
>>> check_obj(obj, first, second)
11+
"""
12+
13+
def check_obj(obj, first, second):
14+
if type(obj) == list:
15+
type_obj = type(obj[0])
16+
else:
17+
return {"error": "WRONG_PARAMETERS", "note": "check_obj need an list argument"}
18+
if type_obj == dict:
19+
return check_dict(obj, first, second)
20+
if type_obj == str:
21+
return check_list(obj)
22+
return {"error": "WRONG_PARAMETERS", "note": "check_obj need an list of string or list of dict"}
23+
24+
def check_dict(obj, first_element, second_element):
25+
check = []
26+
for dico in obj:
27+
check.append(dico.get(first_element, 'errorDico'))
28+
check.append(dico.get(second_element, 'errorDico'))
29+
if 'errorDico' in check or check == []:
30+
return {"error": "WRONG_PARAMETERS", "note": "check_dict need a list argument type [{'"+first_element+"': 'PRP', '"+second_element+"': Ceci}]"}
31+
return True
32+
33+
def check_list(obj):
34+
if not all(isinstance(token, str) for token in obj):
35+
return {"error": "WRONG_PARAMETERS", "note": "check_list need a string argument"}
36+
return True
37+
38+
39+
if __name__ == "__main__":
40+
check_obj()

check_lib.egg-info/PKG-INFO

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
Metadata-Version: 1.1
2+
Name: check-lib
3+
Version: 0.0.1
4+
Summary: Proclame la bonne parole de sieurs Sam et Max
5+
Home-page: http://github.com/sametmax/sm_lib
6+
Author: Sam et Max
7+
Author-email: [email protected]
8+
License: WTFPL
9+
Description: UNKNOWN
10+
Platform: UNKNOWN
11+
Classifier: Programming Language :: Python
12+
Classifier: Development Status :: 1 - Planning
13+
Classifier: License :: OSI Approved
14+
Classifier: Natural Language :: French
15+
Classifier: Operating System :: OS Independent
16+
Classifier: Programming Language :: Python :: 2.7
17+
Classifier: Topic :: Communications

check_lib.egg-info/SOURCES.txt

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
MANIFEST.in
2+
README.md
3+
setup.py
4+
check_lib/__init__.py
5+
check_lib/core.py
6+
check_lib.egg-info/PKG-INFO
7+
check_lib.egg-info/SOURCES.txt
8+
check_lib.egg-info/dependency_links.txt
9+
check_lib.egg-info/entry_points.txt
10+
check_lib.egg-info/top_level.txt
+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+

check_lib.egg-info/entry_points.txt

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
[console_scripts]
2+
proclame-sm = sm_lib.core:proclamer
3+

check_lib.egg-info/top_level.txt

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
check_lib

check_lib/__init__.py

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
#!/usr/bin/env python
2+
# -*- coding: utf-8 -*-
3+
4+
"""
5+
Ce module va verifier l'objet recu en parametre. Il faut que ca soit une
6+
liste de dictionnaire ou une liste de string. Si c'est une liste de dict
7+
on verifie que chaque dictionnaire continent bien les premiers et second
8+
arguments en keys.
9+
"""
10+
__version__="0.0.1"
11+
from .core import check_obj
500 Bytes
Binary file not shown.
1.49 KB
Binary file not shown.

check_lib/author.txt

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
Raphael Krief
2+
NLP Student

check_lib/core.py

+40
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
#!/usr/bin/env python
2+
# -*- coding: utf-8 -*-
3+
4+
"""
5+
Verification des objets passés en parametre
6+
7+
Usage:
8+
9+
>>> from check_lib import check_obj
10+
>>> check_obj(obj, first, second)
11+
"""
12+
13+
def check_obj(obj, first, second):
14+
if type(obj) == list:
15+
type_obj = type(obj[0])
16+
else:
17+
return {"error": "WRONG_PARAMETERS", "note": "check_obj need an list argument"}
18+
if type_obj == dict:
19+
return check_dict(obj, first, second)
20+
if type_obj == str:
21+
return check_list(obj)
22+
return {"error": "WRONG_PARAMETERS", "note": "check_obj need an list of string or list of dict"}
23+
24+
def check_dict(obj, first_element, second_element):
25+
check = []
26+
for dico in obj:
27+
check.append(dico.get(first_element, 'errorDico'))
28+
check.append(dico.get(second_element, 'errorDico'))
29+
if 'errorDico' in check or check == []:
30+
return {"error": "WRONG_PARAMETERS", "note": "check_dict need a list argument type [{'"+first_element+"': 'PRP', '"+second_element+"': Ceci}]"}
31+
return True
32+
33+
def check_list(obj):
34+
if not all(isinstance(token, str) for token in obj):
35+
return {"error": "WRONG_PARAMETERS", "note": "check_list need a string argument"}
36+
return True
37+
38+
39+
if __name__ == "__main__":
40+
check_obj()

dist/check_lib-0.0.1-py3.5.egg

3.64 KB
Binary file not shown.

dist/check_lib-0.0.1.tar.gz

2.94 KB
Binary file not shown.

setup.py

+95
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
#!/usr/bin/env python
2+
# -*- coding: utf-8 -*-
3+
4+
from setuptools import setup, find_packages
5+
6+
# notez qu'on import la lib
7+
# donc assurez-vous que l'importe n'a pas d'effet de bord
8+
import check_lib
9+
10+
# Ceci n'est qu'un appel de fonction. Mais il est trèèèèèèèèèèès long
11+
# et il comporte beaucoup de paramètres
12+
setup(
13+
14+
# le nom de votre bibliothèque, tel qu'il apparaitre sur pypi
15+
name='check_lib',
16+
17+
# la version du code
18+
version=check_lib.__version__,
19+
20+
# Liste les packages à insérer dans la distribution
21+
# plutôt que de le faire à la main, on utilise la foncton
22+
# find_packages() de setuptools qui va cherche tous les packages
23+
# python recursivement dans le dossier courant.
24+
# C'est pour cette raison que l'on a tout mis dans un seul dossier:
25+
# on peut ainsi utiliser cette fonction facilement
26+
packages=find_packages(),
27+
28+
# votre pti nom
29+
author="Sam et Max",
30+
31+
# Votre email, sachant qu'il sera publique visible, avec tous les risques
32+
# que ça implique.
33+
author_email="[email protected]",
34+
35+
# Une description courte
36+
description="Proclame la bonne parole de sieurs Sam et Max",
37+
38+
# Une description longue, sera affichée pour présenter la lib
39+
# Généralement on dump le README ici
40+
long_description=open('README.md').read(),
41+
42+
# Vous pouvez rajouter une liste de dépendances pour votre lib
43+
# et même préciser une version. A l'installation, Python essayera de
44+
# les télécharger et les installer.
45+
#
46+
# Ex: ["gunicorn", "docutils >= 0.3", "lxml==0.5a7"]
47+
#
48+
# Dans notre cas on en a pas besoin, donc je le commente, mais je le
49+
# laisse pour que vous sachiez que ça existe car c'est très utile.
50+
# install_requires= ,
51+
52+
# Active la prise en compte du fichier MANIFEST.in
53+
include_package_data=True,
54+
55+
# Une url qui pointe vers la page officielle de votre lib
56+
url='http://github.com/sametmax/sm_lib',
57+
58+
# Il est d'usage de mettre quelques metadata à propos de sa lib
59+
# Pour que les robots puissent facilement la classer.
60+
# La liste des marqueurs autorisées est longue:
61+
# https://pypi.python.org/pypi?%3Aaction=list_classifiers.
62+
#
63+
# Il n'y a pas vraiment de règle pour le contenu. Chacun fait un peu
64+
# comme il le sent. Il y en a qui ne mettent rien.
65+
classifiers=[
66+
"Programming Language :: Python",
67+
"Development Status :: 1 - Planning",
68+
"License :: OSI Approved",
69+
"Natural Language :: French",
70+
"Operating System :: OS Independent",
71+
"Programming Language :: Python :: 2.7",
72+
"Topic :: Communications",
73+
],
74+
75+
76+
# C'est un système de plugin, mais on s'en sert presque exclusivement
77+
# Pour créer des commandes, comme "django-admin".
78+
# Par exemple, si on veut créer la fabuleuse commande "proclame-sm", on
79+
# va faire pointer ce nom vers la fonction proclamer(). La commande sera
80+
# créé automatiquement.
81+
# La syntaxe est "nom-de-commande-a-creer = package.module:fonction".
82+
entry_points = {
83+
'console_scripts': [
84+
'proclame-sm = sm_lib.core:proclamer',
85+
],
86+
},
87+
88+
# A fournir uniquement si votre licence n'est pas listée dans "classifiers"
89+
# ce qui est notre cas
90+
license="WTFPL",
91+
92+
# Il y a encore une chiée de paramètres possibles, mais avec ça vous
93+
# couvrez 90% des besoins
94+
95+
)

0 commit comments

Comments
 (0)