alin.
-
alineatul
art.
-
articolul
B.C.
-
Buletinul Casaţiei
BGB
-
Codul civil german (Bürgerliches Gesetzbuch)
B.C.A.
-
Buletinul Curţilor de Apel, Ed. C.H. Beck
B.J.
-
Buletinul Jurisprudenţei
B.J. Baza de date
-
Baza de date, Ed. All Beck
B. Of.
-
Buletinul Oficial al RSR
C. aerian
-
Codul aerian civil (O.G. nr. 29/1997)
C. civ. 1864
-
Codul civil din 1864
C. civ. fr.
-
Codul civil francez (Code civil des Français)
C. com.
-
Codul comercial din 1887
C. fam.
-
Codul familiei (Legea nr. 4/1953)
C. fisc.
-
Codul fiscal (Legea nr. 571/2003)
C. muncii
-
Codul muncii (Legea nr. 53/2003)
C. pen./CP
-
Codul penal (Legea nr. 15/1968)
C. proc. civ./CPC
-
Codul de procedură civilă din 1865
C. proc. fisc.
-
Codul de procedură fiscală (O.G. nr. 92/2003)
C. proc. pen./CPP
-
Codul de procedură penală (Legea nr. 29/1968)
C. silvic
-
Codul silvic (Legea nr. 46/2008)
C.A.
-
Curtea de apel
C.C.
-
Curtea Constituţională
CCQ
-
Codul civil din Québec (Code civil du Québec)
C.D.
-
Culegere de decizii
C.E.D.O.
-
Curtea Europeană a Drepturilor Omului
C.J.
-
Curierul Judiciar
C.J.C.E./C.J.U.E.
-
Curtea de Justiţie a Comunităţilor/Uniunii Europene
C.P.J.
-
Culegere de practică judiciară
C.P.J.C.
-
Culegere de decizii în materie civilă
C.S.J.
-
Curtea Supremă de Justiţie
Cas.
-
Curtea de Casaţie şi Justiţie a României
Cass.
-
Curtea de Casaţie franceză
col. civ.
-
colegiul civil
col. pen.
-
colegiul penal
Com.E.D.O.
-
Comisia Europeană a Drepturilor Omului
dec.
-
decizia
dec. de îndrum. / dec. de îndrumare
-
decizia de îndrumare
Dreptul
-
revista Dreptul
ed.
-
ediţia
Ed.
-
Editura
Eurolex
-
Baza de date, Compania de informatică G&G Consulting, Piatra Neamţ
H.G.
-
hotărârea Guvernului
I.C.C.J.
-
Înalta Curte de Casaţie şi Justiţie
infra
-
mai jos, mai departe; este însoţit de numărul paginii sau al secţiunii
înch.
-
încheierea
J.N.
-
Justiţia Nouă
J.O.
-
Jurnalul Oficial al Comunităţilor/Uniunii Europene
J.S.C.
-
Jurisprudenţa Secţiei civile şi de proprietate intelectuală
J.S.Com.
-
Jurisprudenţa Secţiei comerciale
Jud.
-
Judecătoria
Legalis
-
Baza de date, Ed. C.H. Beck
Lege 4
-
Baza de date, Indaco Systems
Legis
-
Baza de date, Centrul Teritorial de Calcul Electronic, Piatra-Neamţ
Lex Expert
-
Baza de date, Compania de Informatică Neamţ, Piatra-Neamţ
lit.
-
litera
loc. cit.
-
locul (articolul) citat
L.P.
-
Legalitatea Populară
LPA
-
Legea de punere în aplicare a noului Cod civil (Legea nr. 71/2011)
LSC
-
Legea societăţilor comerciale (Legea nr. 31/1990)
M. Of.
-
Monitorul Oficial al României, Partea I
n.a.
-
nota autorului
n.n.
-
nota noastră
n.r.
-
nota redacţiei
NCC
-
noul Cod civil (Legea nr. 287/2009)
NCP
-
noul Cod penal (Legea nr. 286/2009)
NCPC
-
noul Cod de procedură civilă (Legea nr. 134/2010)
nr.
-
numărul
O.G.
-
ordonanţa Guvernului
O.U.G.
-
ordonanţa de urgenţă a Guvernului
op. cit.
-
opera citată
p.
-
pagina
parag.
-
paragraful
pct.
-
punctul
P.R.
-
Pandectele Române
Proiect 2004
-
Amendamentele aduse
proiectului iniţial al Legii privind Codul civil, lege adoptată de
Senat, în calitate de primă Cameră sesizată, în şedinţa din 13
septembrie 2004, respinsă ulterior de Camera Deputaţilor la data de 9
septembrie 2009 ca rămasă fără obiect, urmare a adoptării Legii nr.
287/2009 privind Codul civil, prin angajarea răspunderii Guvernului în
faţa Camerei Deputaţilor şi a Senatului, în şedinţa comună din data de
22 iunie 2009. Precizăm însă că o bună parte din prevederile cuprinse în
acest proiect au fost preluate de noul Cod civil, numerotarea
articolelor fiind însă diferită. Aceste amendamente a fost preluate de
pe site-ul Ministerului Justiţiei (www.just.ro)
R.D.C.
-
Revista de drept comercial
R.R.D.
-
Revista română de drept
R.R.D.A.
-
Revista română de dreptul afacerilor
R.R.D.M.
-
Revista română de dreptul muncii
R.R.D.P.
-
Revista română de drept privat
R.S.J.
-
Revista de studii juridice
R.T.D. civ.
-
Revue trimestrielle de droit civil
s.
-
secţia
s. civ.
-
secţia civilă
s. civ. şi de propr. int.
-
secţia civilă şi de proprietate intelectuală
s. com.
-
secţia comercială
s. min. şi fam.
-
secţia pentru cauze cu minori şi de familie
s. mun. şi asig. soc.
-
secţia privind litigii de muncă şi asigurări sociale
s. pen.
-
secţia penală
S.C.J.
-
Studii şi cercetări juridice
S.D.R.
-
Studii de drept românesc
S.J.
-
Săptămâna Juridică
s.n.
-
sublinierea noastră
S.P.C.L.E.P.
-
Serviciul Public Comunitar Local de Evidenţă a Persoanelor
S.U.
-
Secţiile Unite
S.U.B.B.
-
Studia Universitatis Babeş-Bolyai
sent.
-
sentinţa
Sintact
-
Baza de date, Ed. Wolters Kluwer
supra
-
deasupra, mai sus; este însoţit de numărul paginii sau al secţiunii
ş.a.
-
şi altele/alţii
Trib.
-
Tribunalul
Trib. jud.
-
Tribunalul judeţean
Trib. Mun. Bucureşti
-
Tribunalul Municipiului Bucureşti
Trib. pop.
-
Tribunalul popular
Trib. reg.
-
Tribunalul regional
Trib. Suprem
-
Tribunalul Suprem
urm.
-
următoarele
vol.
-
volumul
Thursday, November 21, 2024
Abrevieri juridice
Wednesday, November 20, 2024
Python code for portalquery.just.ro/CautareDosare API
import xml.dom.minidom
# http://portalquery.just.ro/query.asmx?WSDL
# http://portalquery.just.ro/query.asmx
# https://portal.just.ro/SitePages/acces.aspx
url = "http://portalquery.just.ro/query.asmx"
payload = """<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
<soap12:Body>
<CautareDosare2
xmlns="portalquery.just.ro">
<numarDosar>1268/2/2022</numarDosar>
<obiectDosar></obiectDosar>
<numeParte></numeParte>
<institutie>CurteadeApelBUCURESTI</institutie>
<dataStart>2022-01-01</dataStart>
<dataStop>2024-01-01</dataStop>
<dataUltimaModificareStart>2022-01-01</dataUltimaModificareStart>
<dataUltimaModificareStop>2024-01-01</dataUltimaModificareStop>
</CautareDosare2>
</soap12:Body>
</soap12:Envelope>"""
headers = {
'Content-Type': 'application/soap+xml; charset=utf-8',
'SOAPAction': 'portalquery.just.ro/CautareDosare2'
}
response = requests.request("POST", url, headers=headers, data=payload)
dom = xml.dom.minidom.parseString(response.text)
pretty_xml_as_string = dom.toprettyxml()
print(pretty_xml_as_string)
url = "http://portalquery.just.ro/query.asmx"
payload = """<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
<soap:Body>
<CautareDosare
xmlns="portalquery.just.ro">
<numarDosar>1269/2/2022</numarDosar>
<obiectDosar></obiectDosar>
<numeParte></numeParte>
<institutie>CurteadeApelBUCURESTI</institutie>
<dataStart>2022-01-01</dataStart>
<dataStop>2024-01-01</dataStop>
<dataUltimaModificareStart>2022-01-01</dataUltimaModificareStart>
<dataUltimaModificareStop>2024-01-01</dataUltimaModificareStop>
</CautareDosare>
</soap:Body>
</soap:Envelope>"""
headers = {
'Content-Type': 'application/soap+xml; charset=utf-8',
'SOAPAction': 'portalquery.just.ro/CautareDosare'
}
response = requests.request("POST", url, headers=headers, data=payload)
dom = xml.dom.minidom.parseString(response.text)
pretty_xml_as_string = dom.toprettyxml()
print(pretty_xml_as_string)
'''
Serviciul web portal.just.ro permite accesul la datele despre dosare, părţi şi şedinţe de judecată.
Adresa serviciului web este: http://portalquery.just.ro/query.asmx
Serviciul web permite accesul la date folosind două metode de interogare:
- căutare dosare
- căutare şedinţe
Căutarea dosarelor
Căutarea dosarelor se face după următorii parametri de interogare:
- număr dosar
- obiect dosar
- nume parte
- instanţă
- perioadă (dosare dintr-un interval de timp)
La o interogare se pot folosi combinaţii de parametri. Se va completa obligatoriu cel puţiu unul din parametrii: număr dosar, obiect dosar, nume parte.
Notă: lista rezultată la o interogare va conţine maxim 1000 dosare.
Informaţiile obţinute sunt:
- numărul dosarului (format numar unic)
- număr în format vechi (dacă există)
- data dosarului
- instanţa dosarului
- departamentul (secţia)
- categoria cazului
- stadiul procesual al dosarului
- lista de parţi din dosar
- lista de termene ale dosarului
- lista de căi de atac
Căutarea şedinţelor
Căutarea şedinţelor se face după următorii parametri de interogare:
- data şedinţă (obligatoriu)
- instanţa (obligatoriu)
Informaţiile obţinute sunt:
- departamentul (secţia)
- numele completului de judecată
- data şedinţei
- ora şedinţei
- lista de dosare din şedinţă
Serviciul Web a fost creat folosind platforma .NET 3.5 şi ASP.NET. Astfel, cei care utilizează aceste servicii folosind .NET se vor putea integra uşor. Totuşi, nu ar trebui să fie nici o dificultate pentru apelul acestor servicii folosind orice altă platformă de dezvoltare software (PHP, Java, etc.).
Documentaţia detaliată a serviciului poate fi consultată accesând documentul:
Documentarea serviciului web de conectare programatică la date şi export.docDocumentarea serviciului web de conectare programatică la date şi export.doc
'''
Tuesday, November 19, 2024
Python Jinja Checks
"Testing for List Existence in Jinja2 Templates"
Description: Developers often search for methods to check if a variable in a Jinja2 template is a list or not.
{# Code Implementation: #} {% if my_list is iterable %} <p>my_list is a list!</p> {% else %} <p>my_list is not a list!</p> {% endif %}
"Jinja2: Testing List Length"
Description: Demonstrating how to test the length of a list variable in Jinja2 templates.
{# Code Implementation: #} {% if my_list|length > 0 %} <p>my_list is not empty!</p> {% else %} <p>my_list is empty!</p> {% endif %}
"Checking for Empty List in Jinja2"
Description: Providing a method to determine if a list variable is empty within a Jinja2 template.
{# Code Implementation: #} {% if my_list %} <p>my_list is not empty!</p> {% else %} <p>my_list is empty!</p> {% endif %}
"Jinja2: Testing List Contents"
Description: Testing whether a list variable contains specific elements in Jinja2 templates.
{# Code Implementation: #} {% if 'desired_element' in my_list %} <p>desired_element is in my_list!</p> {% else %} <p>desired_element is not in my_list!</p> {% endif %}
"Jinja2: Looping Over List Items"
Description: Showing how to iterate over each item in a list variable within Jinja2 templates.
{# Code Implementation: #} {% for item in my_list %} <p>{{ item }}</p> {% endfor %}
"Jinja2: Testing List Type"
Description: Verifying whether a variable in Jinja2 is specifically a list type.
{# Code Implementation: #} {% if my_list is iterable and my_list is not string %} <p>my_list is a list!</p> {% else %} <p>my_list is not a list!</p> {% endif %}
"Jinja2: Checking List Equality"
Description: Testing if two list variables are equal in Jinja2 templates.
{# Code Implementation: #} {% if my_list == another_list %} <p>my_list and another_list are equal!</p> {% else %} <p>my_list and another_list are not equal!</p> {% endif %}
"Jinja2: Testing List Indexing"
Description: Accessing specific elements of a list variable by index in Jinja2 templates.
{# Code Implementation: #} <p>{{ my_list[0] }}</p>
"Jinja2: Checking List Membership"
Description: Verifying if a variable exists in a list within Jinja2 templates.
{# Code Implementation: #} {% if 'desired_element' in my_list %} <p>desired_element exists in my_list!</p> {% else %} <p>desired_element does not exist in my_list!</p> {% endif %}
"Jinja2: Testing List Sorting"
Description: Sorting list elements in Jinja2 templates to facilitate comparisons or display.
{# Code Implementation: #} {% for item in my_list|sort %} <p>{{ item }}</p> {% endfor %}
Jinja built-in filters and tests (like Django filters)
The Jinja documentation makes an explicit difference between what it calls filters and tests. The only difference is Jinja tests are used to evaluate conditions and Jinja filters are used to format or transform values. In Django there is no such naming difference and an equivalent Jinja test in Django is simply called a Django filter.
The syntax to apply Jinja filters
to template variables is the vertical bar character |
, also called a 'pipe' in Unix environments
(e.g.{{variable|filter}}). It's worth mentioning you
can apply multiple filters to the same variable
(e.g.{{variable|filter|filter}}). The syntax to apply
Jinja tests uses the is keyword along with a regular
conditional to evaluate the validity of a test (e.g. {% if
variable is divisibleby 10 %}do something{% endif %}).
In the upcoming sections, I'll add the reference (Test) to indicate it's referring to a Jinja test vs. a Jinja filter. I'll also classify each Django built-in filter & test into functional sections so they are easier to identify. I'll define the broadest category 'Strings, lists, dictionaries, numbers and objects' for filters and tests that pplicable for most scenarios and then more specialized sections for each data type, including: 'String and lists', 'Dictionaries and objects', Strings, Numbers, Spacing and special characters, Development and testing and Urls.
Strings, lists, dictionaries, numbers and objects
defaultord.- Thedefaultordfilter is used to specify a default value if a variable is undefined or is false (i.e. it doesn't exist or is empty). For example, the filter statement{{variable|default("no value")}}outputsno valueonly if the variable is undefined, otherwise it outputs the variable value. If in addition you want to provide a default value for a variable that evaluates to false, is None or is an empty string, you have to addtrueas a second filter parameter (e.g.{{variable|default("no value",true)}}outputsno valueif the variable is undefined, false, is None or is an empty string).defined(Test).- Thedefinedtest is used to check if a variable is defined, if a variable is defined this tests return true. Listing 4-19 illustrates an example of thedefinedtest.
Listing 4-19 Jinja defined test
{% if variable is defined %}
value of variable: {{ variable }}
{% else %}
variable is not defined
{% endif %}
none(Test).- Thenonetest is used to check if a variable is none, if a variable is None this tests return true.lengthorcount.- Thelengthfilter is used to obtain the length of a value. For example, if a variable containslattethe filter statement{{variable|length}}outputs 5. For a list variable that contains['a','e','i']the filter statement{{variable|length}}outputs 3.equalto(Test).- Theequaltotest checks if an object has the same value as another object. For example{% if coffee.price is equalto 1.99 %} coffee prices equals 1.99 {% endif %}. This works just like the==, but is more helpful when used with other filters such asselectattr(e.g.{{ users|selectattr("email", "equalto", "webmaster@coffeehouse.com") }}, gets users with emailwebmaster@coffeehouse.com).string(Test).- Thestringtest checks if a variable is a string (e.g.{% if variable is string %}Yes, the variable is a string!{% endif %}).number(Test).- Thenumbertest returns true if a variable is a number.iterable(Test).- Theiterabletest checks if it's possible to iterate over an object.sequence(Test).- Thesequencetest checks if the object is a sequence (e.g. a generator).mapping(Test).- Themappingtest checks if the object is a mapping (e.g. a dictionary).callable(Test).- The callable test verifies if an object is callable. In Python a function, classes and object instances with a __call__ method are callables.sameas(Test).- Thesameastest verifies if an object points to the same memory address than another object.eqorequalto(or==) (Test).- Theeqorequaltotests verify if object is equal.ne(or!=) (Test).- Thenetest verifies if an object is not equal.ltorlessthan(or<) (Test).- Theltorlessthantests verify if an object is less than.le(or<=) (Test).- Theletest verifies if an object is less than or equal.gtorgreaterthan(or>) (Test).- Thegtorgreaterthantests verify if an object is greater than.ge(or<=) (Test).- Thegetest verifies if an object is greater than or equal.in(Test).- Theintest verifies if a given variable contains a value.boolean(Test).- Thebooleantest returns true if a variable is a boolean.false(Test).- Thefalsetest returns true if a variable is false.true(Test).- Thetruetest returns true if a variable is true.integer(Test).- Theintegertest returns true if a variable is an integer.float(Test).- Thefloattest returns true if a variable is a float.
Strings and lists
reverse.- The reverse filter is used to get inverse representation of a value. For example, if a variable containslattethe filter statement{{variable|reverse}}generatesettal.first.- Thefirstfilter returns the first item in a list or string. For example, for a list variable that contains['a','e','i','o','u']the filter statement{{variable|first}}outputsa.join.- Thejoinfilter joins a list with a string. Thejoinfilter works just like Python'sstr.join(list). For example, for a list variable that contains['a','e','i','o','u']the filter statement{{variable|join("--)}}outputsa--e--i--o--u. Thejoinfilter also supports joining certain attributes of an object (e.g.{{ users|join(', ', attribute='username') }})last.- Thelastfilter returns the last item in a list or string. For example, for a list variable that contains['a','e','i','o','u']the filter statement{{variable|last}}outputsu.map.- Themapfilter allows you to apply a filter or look up attributes, just like the standard Pythonmapmethod. For example, if you have list of users but are only interested in outputting a list of usernames a map is helpful (e.g.{{ users|map(attribute='username')|join(', ') }}). In addition, it's also possible to invoke a filter by passing the name of the filter and the arguments afterwards (e.g.{{ titles|map('lower')|join(', ') }}applies thelowerfilter to all the elements intitlesand then joins the items separated by a comma).max.- Themaxfilter selects the largest item in a variable. For example, for a list variable that contains[1,2,3,4,5]the statement{{ variable|max }}returns5.min.- Theminfilter selects the smallest item in a variable. For example, for a list variable that contains[1,2,3,4,5]the statement{{ variable|min }}returns1.random.- Therandomfilter returns a random item in a list. For example, for a list variable that contains['a','e','i','o','u']the filter statement{{variable|random}}could outputa,e,i,ooru.reject.- Therejectfilter removes elements that pass a certain test -- see bullets in this chapter section marked as (Test) for acceptable values. For example, for a list variable that contains[1,2,3,4,5]the loop statement with this filter{% for var in variable|reject("odd") %}{{var}}{% endfor %}-- whereoddis the Jinja test -- rejects elements that are odd and thus its output is2and4.select.- Theselectfilter selects elements that pass a certain test -- see bullets in this chapter section marked as (Test) for acceptable values. For example, for a list variable that contains[1,2,3,4,5]the loop statement with this filter{% for var in variable|select("odd") %}{{var}}{% endfor %}-- whereoddis the Jinja test -- selects elements that are odd and thus its output is1,3and5.slice.- Theslicefilter returns a slice of lists. For example, for a variable that contains["Capuccino"]the filter statement{% for var in variable|slice(4) %}{{var}}{% endfor %}outputs['C', 'a', 'p'],['u', 'c'],['c', 'i'], ['n', 'o']. It's possible to use thefill_withas a second argument -- which defaults to None -- so all segments contain the same number of elements filled with a given value. For example,{% for var in variable|slice(4,'FILLER') %}{{var}}{% endfor %}outputs:['C', 'a', 'p'],['u', 'c','FILLER'],['c', 'i','FILLER'], ['n', 'o','FILLER'].batch.- Thebatchfilter returns a batch of lists. For example, a variable that contains["Capuccino"]the filter statement{% for var in variable|batch(4) %}{{var}}{% endfor %}outputs['C', 'a', 'p', 'u'],['c', 'c', 'i', 'n'],['o']. It's possible to use thefill_withas a second argument -- which defaults to None -- so all segments contain the same number of elements filled with a given value. For example,{% for var in variable|slice(4,'FILLER') %}{{var}}{% endfor %}outputs:['C', 'a', 'p', 'u'],['c', 'c', 'i', 'n'],['o','FILLER','FILLER','FILLER'].sort.- Thesortfilter sorts elements by ascending order. For example, if a variable contains['e','u','a','i','o']the statement{{variable|sort}}outputs['a','e','i','o','u']. It's possible to indicate descending order by setting the first argument to true (e.g.{{variable|sort(true)}}outputs['u','o','i','e','a']). In addition, if a list is made up strings, a second argument can be used to indicate case sensitiveness -- which is disabled by default -- to perform the sort operation (e.g.{{variable|sort(true,true)}}). Finally, if a list is composed of objects, it's also possible to specify the sort operation on a given attribute (e.g.variable|sort(attribute='date')to sort the elements based on thedateattribute).unique.- Theuniquefilter returns unique values. For example, if a variable contains['Python','PYTHON','Python','JAVASCRIPT', 'JavaScript']the statement{{variable|unique|list}}outputs['Python','JAVASCRIPT']. By default, theuniquefilter is case insensitive and returns the first unique match it finds. It's possible to perfom case sensitive unique matching using thecase_sensitiveargument (e.g.{{variable|unique(case_sensitive=True)|list}}returns['Python', 'PYTHON', 'JAVASCRIPT', 'JavaScript']).
Dictionaries and objects
dictsort.- Thedictsortfilter sorts a dictionary by key, case insensitive. For example, if a variable contains{'name':'Downtown','city':'San Diego','state':'CA'}the filter{% with newdict=variable|dictsort %}thenewdictvariable is assigned the dictionary{'city':'San Diego','name':'Downtown','state':'CA'}. In addition, thedictsortcan accept three arguments:case_sensitiveto indicate case sensitive/insensitive order,byto specify sorting by key or value andreverseto specify reverse ordering. The defaultdictsortbehavior is case insensitive, sort by key and natural(provided) order (e.g.variable|dictsort). To alter the defaultdictsortbehavior, you can assign:case_sensitiveaTrueorFalse(Default) value;bya'value'or'key'(Default) value; andreverseaTrueorFalse(Default) value.attr.- Theattrfilter returns the attribute of an object (e.g.{{coffeehouse.city}}outputs thecityattribute value of thecoffeehouseobject). Note theattrfilter only attempts to look up an attribute and not an item (e.g. ifcoffeehouseis a dictionary andcityis a key item it won't be found). Alternatively, you can just use the standard Python syntaxvariable.name-- which first attempts to locate an attribute callednameonvariable, then thenameitem onvariableor if nothing matches an undefined object is returned -- orvariable['name']-- which first attempts to locate thenameitem onvariable, then an attribute callednameonvariableor if nothing matches an undefined object is returned.rejectattr.- Therejectattrfilter removes objects that don't contain an attribute or objects for which a certain attribute doesn't pass a test -- see bullets in this chapter section marked as (Test) for acceptable values. For example,{% for ch in coffeehouses|rejectattr("closedon") %}generates a loop forcoffeehouseobjects that don't have theclosedonattribute or{% for u in users|rejectattr("email", "none") %}generates a loop foruserobjects that don't haveemailNone -- note the second argumentnonerepresents the test.selectattr.- Theselectattrfilter selects objects that contain an attribute or objects for which a certain attribute passes a test -- see bullets in this chapter section marked as (Test) for acceptable values. For example,{% for u in users|selectattr("superuser") %}generates a loop foruserobjects that have thesuperuserattribute or{% for u in users|selectattr("email", "none") %}generates a loop foruserobjects that haveemailNone -- note the second argumentnonerepresents the test.groupby.- Thegroupbyfilter is used to rearrange the contents of a list of dictionaries or objects into different group object sequences by a common attribute. Listing 4-20 illustrates an example of thegroupbyfilter.
Listing 4-20. Jinja groupby filter
# Dictionary definition
stores = [
{'name': 'Downtown', 'street': '385 Main Street', 'city': 'San Diego'},
{'name': 'Uptown', 'street': '231 Highland Avenue', 'city': 'San Diego'},
{'name': 'Midtown', 'street': '85 Balboa Street', 'city': 'San Diego'},
{'name': 'Downtown', 'street': '639 Spring Street', 'city': 'Los Angeles'},
{'name': 'Midtown', 'street': '1407 Broadway Street', 'city': 'Los Angeles'},
{'name': 'Downton', 'street': '50 1st Street', 'city': 'San Francisco'},
]
<ul>
{% for group in stores|groupby('city') %}
<li>{{ group.grouper }}
<ul>
{% for item in group.list %}
<li>{{ item.name }}: {{ item.street }}</li>
{% endfor %}
</ul>
</li>
{% endfor %}
</ul>
# Output
Los Angeles
Downtown: 639 Spring Street
Midtown: 1407 Broadway Street
San Diego
Downtown : 385 Main Street
Uptown : 231 Highland Avenue
Midtown : 85 Balboa Street
San Francisco
Downtown: 50 1st Street
# Alternate shortcut syntax, produces same output
<ul>
{% for grouper, list in stores|groupby('city') %}
<li>{{ grouper }}
<ul>
{% for item in list %}
<li>{{ item.name }}: {{ item.street }}</li>
{% endfor %}
</ul>
</li>
{% endfor %}
</ul>
tojson.- Thetojsonfilter outputs data structures to JavaScript Object Notation(JSON) (e.g.{{variable|tojson}}). Thetojsonfilter accepts theindentargument -- which is set toNone-- to generate pretty output by a given number of spaces (e.g.{{variable|tojson(indent=2)}}) generates output indented with two spaces).
Tip You can globally set options for the tojson filter through Jinja policies, described in the last section of this chapter.
Strings
capitalize.- Thecapitalizefilter capitalizes the first character of a string variable. For example, if a variable containshello worldthe filter statement{{variable|capitalize}}outputsHello world.list.- Thelistfilter is used to return a list of characters. For example, if a variable containslattethe filter statement{{variable|list}}generates['l','a','t','t','e'].lower.- Thelowerfilter converts all values of a string variable to lowercase. For example, if a variable containsHello Worldthe filter statement{{variable|lower}}outputshello world.lower(Test).- Thelowertest returns true if a variable is lower cased. For example,{% if variable is lower %}Yes, the variable is lowercase!{% endif %}outputs the statement ifvariableis lower casedreplace.- Thereplacefilter works just like Python's standardreplacestring. The first argument is the sub-string that should be replaced, the second is the replacement string. If the optional third argument amount is given, only this amount of occurrences are replaced. For example{{ "Django 1.8"|replace("1.8", "1.9") }}outputsDjango 1.9and{{"oooh Django!"|replace("o", "",2) }}outputsoh Django!.string.- Thestringfilter makes a string unicode if it isn't already.title.- Thetitlefilter converts all first character values of a string variable to uppercase. For example, if a variable containshello worldthe filter statement{{variable|title}}outputsHello World.upper.- Theupperfilter converts all values of a string variable to uppercase. For example, if a variable containsHello Worldthe filter statement{{variable|upper}}outputsHELLO WORLD.upper(Test).- Theuppertest returns true if a variable is upper cased. For example,{% if variable is upper %}Yes, the variable is uppercase!{% endif %}outputs the statement ifvariableis uppercase.wordcount.- Thewordcountfilter counts the words in a string. For example, if a variable containsCoffeehouse started as a small storethe filter statement{{variable|wordcount}}outputs 6.
Numbers
abs.- Theabsreturn the absolute value of the number argument. For example, if a variable contains-5the filter statement{{variable|abs}}outputs5.filesizeformat.-Thefilesizeformatfilter converts a number of bytes into a friendly file size string. For example, if a variable contains 250 the filter statement{{variable|filesizeformat}}outputs 250 Bytes, if it contains 2048 the output is 2 kB, if it contains 2000000000 the output is 2.0 GB. By default, decimal prefixes are used (e.g. Giga, Mega, Kilo), if you pass an additional boolean parameter with true (e.g.{{variable|filesizeformat(true)}}) then binary prefixes are used (e.g. Gibi, Mebi, Kibi)float.- Thefloatfilter converts a value into a floating-point number. If the conversion doesn't work it returns 0.0 or a custom value argument (e.g.variable|float("It didn't work")returns"It didn't work"ifvariablecan't be converted to a floating-point number).int.- Theintfilter converts a value into an integer. If the conversion doesn't work it returns 0 or a custom value specified as the first argument to the filter -- just like thefloatfilter. You can also override the default base 10 with a second filter argument, which handles input with prefixes such as 0b, 0o and 0x for bases 2, 8 and 16 respectively (e.g.{{'0b001111'|int(0,2)}}a base 2 number outputs 15.round.- Theroundfilter rounds a number to a given precision, where the first argument is the precision -- which defaults to 0 -- and the second argument is a rounding method -- which defaults to 'common' rounding either up or down. For example,{{ 33.55|round }}assumes 'common' rounding to output34.0). In addition to 'common', it's also possible to use 'ceil' to always round up or 'floor' to always round down (e.g.{{ 33.55|round(1,'floor') }}outputs33.5). Note that even if rounded to the default 0 precision, a float is returned. If you need an integer you can apply theintfilter (e.g.{{ 33.55|round|int }}outputs34).sum.- Thesumfilter returns the sum of a sequence of numbers, plus the value provided with the start parameter which defaults to 0. In addition, it's also possible to sum certain attributes of a list of objects{{ items|sum(attribute='price') }}.divisibleby(Test).- Thedivisiblebytest checks if a variable is divisible by a given number. For example, if a variable contains 20 the filter statement{% if variable is divisibleby(5) %}Variable is divisible by 5!{% endif %}outputs the conditional statement.even(Test).- Theeventest checks if a number is even.odd(Test).- Theoddtest checks if a number is odd.
Spacing and special characters
center.- Thecenterfilter center aligns a value and pads it with additional white space characters until it reaches the given argument of characters. For example, if a variable containsmochathe filter statement{{variable|center(width="15")}}outputs" mocha ".escapeore.- Theescapeorefilter escapes HTML characters from a value. Specifically with theescapefilter:<is converted to<,>is converted to>,'(single quote) is converted to',"(double quote) is converted to", and&is converted to&.escaped(Test).- The escaped test checks if a value is escaped.forceescape.- Theforceescapefilter escapes HTML characters from a value just like the escape filter. The difference between both filters is theforceescapefilter is applied immediately and returns a new and escaped string. This is useful in the rare cases where you need multiple escaping or want to apply other filters to the escaped results. Normally, you'll use theescapefilter.format.- Theformatfilter is used to apply Python string formatting to a variable. For example, the statement{{ "%s and %s"|format("Python", "Django!") }}outputsPython and Django!.indent.- Theindentfilter is used to output a string with each line except the first one indented with four spaces. It's possible to change the number of spaces and the indentation of the first line with additional filter arguments (e.g.{{ textvariable|indent(2, true) }}the2indicates two spaces andtrueindicates to indent the first line.safe.- Thesafefilter marks a string as not requiring further HTML escaping. When this filter is used with an environment without automatic escaping it has no effect.striptags.- Thestriptagsfilter removes all HTML tags from a value. For example, if a variable contains<b>Coffee</b>house, the <i>best</i> <span>drinks</span>the filter statement{{variable|striptags}}outputsCoffeehouse, the best drinks.trim.- Thetrimfilter is used to strip leading and trailing whitespace just like Python's stringstrip()method. By default,trimstrips leading and trailing whitespace, but it's possible to strip specific characters by passing a string argument (e.g.variable|strip("#")strips leading and trailing#fromvariable).truncate.- Thetruncatefilter truncates a string to a given number of characters -- defaulting to 255 characters -- and appends an ellipsis sequence. For example, if a variable containsCoffeehouse started as a small storethe filter statement{{variable|truncate(20)}}outputsCoffeehouse ..., keeping up until character number 20 and then discarding the last full word, finally adding the ellipsis. You can addtrueas a second argument so the string is cut at an exact length (e.g.{{variable|truncate(20,true)}}outputsCoffeehouse start...including the ellipsis characters). It's possible to provide a different symbol than an ellipsis passing a second parameter (e.g.{{variable|truncate(20,true,"!!!")}}would output !!! instead of an elipsis). And finally, thetruncatefilter accepts a fourth argumentleewayto specify a string tolerance in characters -- which defaults to 5 -- to avoid truncating strings (e.g. this avoids truncating words with less than 5 characters).
Tip You can globally set the leeway value for the truncate filter through Jinja policies, described in the last section of this chapter.
wordwrap.- Thewordwrapfilter wraps words at a given character line length argument. By default, the wrapping occurs after 79 characters which can be overridden providing a first argument with the number of characters. If you set a second parameter to false, Jinja does not split words longer than the wrapping character length. In addition, wrapping generates a newline character as defined in the environment -- generally the \n character -- but this can be changed by specifying thewrapstringkeyword argument (e.g.{{variable|wordwrap(40,true,'-')uses a hyphen as the wrapping newline character). Finally, a fourth argument can be passed to thewordwrapfilter to indicate if breaks should be applied on hyphens, which by default is true, it's helpful to set this option to false when dealing with long words that have hyphens that shouldn't wrap (e.g. site urls). Listing 4-21 illustrates an example of thewordwrapfilter.
Listing 4-21. Jinja wordwrap filter
# Variable definition
Coffeehouse started as a small store
# Template definition with wordwrap filter for every 12 characters
{{variable|wordwrap(12)}}
# Output
Coffeehouse
started as a
small store
xmlattr.- Thexmlattrfilter is used to create an SGML/XML attribute string based on the items in a dictionary or object. Once you create a dictionary structure containing attribute names and reference values, you pass it through thexmlattrfilter to generate the attribute string. By default, all values that are neither none or undefined are automatically escaped, but you can override this behavior by passing false as the first filter argument. Listing 4-22 illustrates an example of thexmlattrfilter.
Listing 4-22. Django xmlattr filter
# Variable definition
{% set stores = [
{'id':123,'name': 'Downtown', 'street': '385 Main Street', 'city': 'San Diego'},
{'id':243,'name': 'Uptown', 'street': '231 Highland Avenue', 'city': 'San Diego'},
{'id':357,'name': 'Midtown', 'street': '85 Balboa Street', 'city': 'San Diego'},
{'id':478,'name': 'Downtown', 'street': '639 Spring Street', 'city': 'Los Angeles'},
{'id':529,'name': 'Midtown', 'street': '1407 Broadway Street', 'city': 'Los Angeles'},
{'id':653,'name': 'Downton', 'street': '50 1st Street', 'city': 'San Francisco'},
] %}
# Template definition
<ul>
{% for store in stores %}
<li {{ {'id':'%d'|format(store.id),'class':'%s'|format(store.city|lower|replace(' ','-')) }|xmlattr }}>
{{store.city}} {{store.name}}
</li>
{% endfor %}
</ul>
# Output
<ul>
<li id="123" class="san-diego"> San Diego Downtown</li>
<li id="243" class="san-diego"> San Diego Uptown</li>
<li id="357" class="san-diego"> San Diego Midtown</li>
<li id="478" class="los-angeles"> Los Angeles Downtown</li>
<li id="529" class="los-angeles"> Los Angeles Midtown</li>
<li id="653" class="san-francisco"> San Francisco Downton</li>
</ul>
Development and testing
pprint.- Thepprintfilter is a wrapper for Python'spprint.pprint(). Thepprintfilter is useful during development and testing because it outputs the formatted representation of an object. By default, thepprintfilter is not verbose but you can make it verbose passing it the true argument (e.g.{{variable|pprint(true)}}).
Urls
urlencode.- Theurlencodefilter escapes a value for use in a URL. For example, if a variable containshttp://localhost/drinks?type=cold&size=largethe filter statement{{variable|urlencode}}outputshttp%3A//localhost/drinks%3Ftype%3Dcold%26size%3Dlarge.urlize.- Theurlizefilter converts text URLs into clickable HTML links. You can pass the filter an additional integer to shorten the visible url (e.g.{{ variable|urlize(40)}}links are shortened to 40 characters plus an ellipsis). It's also possible to add a second argument as a boolean to make the urls "nofollow" (e.g.{{ variable|urlize(40, true)}}links are shortened to 40 characters and defined with rel="nofollow"). Finally, it's also possible to add the target argument to define a link target (e.g.{{ variable|urlize(40, target="_blank")}}links are shortened to 40 characters and open in a new window).
Sunday, November 17, 2024
Dataset Sources For Machine Learning
1 .Kaggle: https://www.kaggle.com
2. Hugging Face: https://huggingface.co
3. Papers With Code: https://paperswithcode.com
4. OpenML: https://www.openml.org
5. UCI Machine Learning Repository: https://archive.ics.uci.edu
6. Awesome Public Datasets: https://github.com/awesomedata/awesome-public-datasets
7. Government Websites: data.gov.ro
8. Google Dataset Search: https://datasetsearch.research.google.com
9. DataHub: https://datahub.io
Saturday, November 9, 2024
Open-source Free English Dictionary
1- List Of English Words (479k Words)
This repo offers a text file containing 479k English words for all your dictionary/word-based projects e.g: auto-completion / autosuggestion. The data comes in JSON format, and in text format. It also offers an example as in Python script.
2- Open-Source English Dictionary (176,023 definitions)
An open source English language dictionary with 176,023 definitions.
This is based on the Source Forge Project: MySQL English Dictionary , which in turn in based on the The Online Plain Text English Dictionary (OPTED) dictionary.
OPTED is a public domain English word list dictionary, based on the public domain portion of "The Project Gutenberg e-text of Webster's Unabridged Dictionary" which is in turn based on the 1913 US Webster's Unabridged Dictionary.
3- List of the Most Common English Words
The Unix dictionary contains far too many ridiculous words that even Google has trouble explaining, such as zuurveldt, cholecystenterorrhaphy and nonly:
$ cat /usr/share/dict/words | wc -l
2358864- wiktionary-dict
This project collects bilingual Wiktionary dictionaries in DSL-format, based on the work of Wiktionary User:Matthias_Buchmeier.
The scripts used to convert these dictionaries can be found here, and the original source files and other information can be found on the project homepage on Wiktionary.
5- ipa-dict - Monolingual word lists with pronunciation information in IPA
This project aims to provide a series of dictionaries consisting of wordlists with accompanying phonemic pronunciation information in International Phonetic Alphabet (IPA) transcription for as many words as possible in as many languages / dialects / variants as possible.
Supported formats include: Raw data, JSON, CSV, XML and several other formats.
The included languages are: Arabic, German, Esperanto, Finish, Japanese, Khmer, Korea, Dutch, French, Persian, Romanian, Swedish, and many more.
6- Syng: Chinese To English
Syng is a free, cross-platform, open-source, Chinese-To-English and English-To-Chinese dictionary. Syng is your study assistant to help you learn Chinese no matter where you are in your journey.
Syng v2 is now in beta. Please be patient as features get ported over from v1. In addition to a new interface, Syng v2 includes numerous under-the-hood enhancements on top of v1 that enable the possibility of more advanced features.
7- Simple Dictionary
An offline English to English dictionary with spell suggestions using the open source dictionary data. It is built on top of Java, and comes with HTML interface.
8- Saladict (Google Chrome, and Mozilla Firefox)
Saladict is an all-in-one professional pop-up dictionary and page translator. It supports mixed use of multiple search modes.
9- FreeDict
The FreeDict project strives to be the most comprehensive source of truly free bilingual dictionaries. They are not just free of charge, but they give you the right to study, change and modify them, as long as you guarantee others these freedoms, too. FreeDict nowadays provides over 140 dictionaries in about 45 languages and thanks to its members, grows continuously.
FreeDict is avaiable to download for Windows, and GNU/ Linux.
10- Dictionary API
A Free headless Dictionary API for developers. The API usage has been ramping up rapidly, making it difficult for me to keep the server running due to increased AWS costs.
11- English Dictionary (Android)
An open-source free English dictionary for Android, written in Java. It features word search, TextToSpeech option, SQLite database backend, and Search History.
12- En Dictionary
A Web App Dictionary For Getting Word's Meaning / Examples / Pronounciation Using cam-dict. It is an open-source free project that is released under the MIT license.
13- English Idioms for Italian and Spanish People
A collection of the most common English idioms with their related Italian and Spanish translation.
14- Russian English dictionary
A dynamic web application of English-Russian dictionary with accessibility. Built with React and Skyeng API. I built this project to improve my understanding of React and Redux.
15- Mercury (iOS)
Mercury is a free iOS English dictionary.
16- Dictionary (Vietnamese and Japanese)
This is a responsive single-page-app dictionary using Angular and Bootstrap. Currently, it supports English-Vietnamese dictionary and going to support Japanese-Vietnamese dictionary.
17- Acron (Qt)
Acorn is a lightweight and responsive English Dictionary application using the cross-platform Qt toolkit for its interface.
18- Web English dictionary app
English dictionary app using HTML, CSS, and JS.
19- Open-source Dictionary for Firefox
- UKACD (UK Advanced Cryptics Dictionary), about 250000 words, is good for crossword setting and solving
- YAWL (Yet Another Word List), about 250000 words, is a copyright-free American list popular among Unix users
- Moby, about 600000 words, is part of Project Gutenberg
- ABLE (Alternate British LExicon), 200000 words, is a UK-oriented list designed for word puzzles
- SOWPODS, about 270000 words, is a standard word list used for Scrabble and other word games all over the world
- TWL, about 180000 words, is a standard word list used for Scrabble and other word games in the United States and elsewhere
- PDL, a public domain word list originally called PUBLIC.DICT.LARGE containing about 37000 reasonably common words with a slight academic bias
- BNC, a word list derived from the British National Corpus containing about 470000 strings, the great majority of which are words
- Broda, a list of about 390000 words aimed at US puzzlers

