Skip to content

The library makes parsing and manipulation of URL🌐 and Email address📧 easy.

License

Notifications You must be signed in to change notification settings

y-bar/netcleanser

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

netcleanser

The library makes parsing and manipulation of URL🌐 and Email address📧 easy.

ci license release python-version pypi

Install

pip install netcleanser

How to use

Email

>>> from netcleanser import Email
>>> email = Email('[email protected]')
>>> email.domain
'gmail.com'
>>> email.local_part
'shinichi.takayanagi'
>>> email.is_valid
True
>>> email.value
'[email protected]'

This Email class is settable and dictable

# As a dict key
>>> x = {email: 1}
>>> x[email]
1
# As elemtns of set
>>> email2 = Email("[email protected]")
>>> {email, email, email, email2, email2}
{Email(value='[email protected])', Email(value='[email protected])'}

Email.build() allows you to create dummy email address specifing the only part of local_part or domain

>>> Email.build(local_part = "hoge")
Email(value='[email protected])'
>>> Email.build(domain = "hoge.com")
Email(value='[email protected])'

Url

>>> from netcleanser import Url
>>> url = Url('https://www.google.com/search?q=auhuhe')
>>> url.scheme
'https'
>>> url.host
'www.google.com'
>>> url.domain
'www.google.com'
>>> url.registered_domain
'google.com'
>>> url.netloc
'www.google.com'
>>> url.path
'/search'
>>> url.query
'q=auhuhe'
>>> url.is_valid
True
>>> url.is_accessible
True
>>> url.value
'https://www.google.com/search?q=auhuhe'
>>> str(url)
'https://www.google.com/search?q=auhuhe'
>>> url.contains_www
True
>>> url.remove_query()
Url(host='www.google.com', username='None', password='None', scheme='https', port='None', path='/search', query='', fragment='')
>>> url.remove_www()
Url(host='google.com', username='None', password='None', scheme='https', port='None', path='/search', query='q=auhuhe', fragment='')

This Url class is settable and dictable

>>> x = {url: 123}
>>> x[Url('https://www.google.com/search?q=auhuhe')]
123
>>> {url, url, Url('https://google.com'), url}
{Url(host='www.google.com', username='None', password='None', scheme='https', port='None', path='/search', query='q=auhuhe', fragment=''), Url(host='google.com', username='None', password='None', scheme='https', port='None', path='', query='', fragment='')}

Thanks

Url class strongly depends on awesome purl package, thanks!