Modules (API)¶
Core¶
The core module is the most important module there is, it stores the base template and the static files such as jQuery and bootstrap.
SMTP Server¶
-
class
apps.core.smtpd.
Lurker
(localaddr, remoteaddr, data_size_limit=33554432, map=None, enable_SMTPUTF8=False, decode_data=None)[source] -
CLEANER
= None
-
INSTANCE
= None
-
THREAD
= None
-
static
clean
()[source]
-
static
clean_international_string
(entry)[source]
-
static
clear_cache
()[source]
-
enable_SMTPUTF8
= True
-
static
parse_address
(raw)[source] Parse Address :param raw: :return:
-
static
parse_addresses
(raw)[source] Parse Addresses :param raw: :return:
-
process_message
(peer, mailfrom, rcpttos, data, **kwargs)[source] Process and save message
Parameters: - peer –
- mailfrom –
- rcpttos –
- data –
- kwargs –
Returns:
-
static
start
(test=False, threaded=False, cleaner=False)[source] Start SMTP catcher.
Parameters: - test –
- threaded –
- cleaner –
Returns:
-
static
stop
()[source] Stop threaded server. :return:
-
Models¶
-
class
apps.core.models.
BaseModel
(*args, **kwargs)[source] -
class
Meta
[source] -
abstract
= False
-
-
BaseModel.
get_next_by_created_at
(*moreargs, **morekwargs)
-
BaseModel.
get_next_by_updated_at
(*moreargs, **morekwargs)
-
BaseModel.
get_previous_by_created_at
(*moreargs, **morekwargs)
-
BaseModel.
get_previous_by_updated_at
(*moreargs, **morekwargs)
-
class
Accounts¶
The accounts module manages the users and the authentication.
Models¶
-
class
apps.accounts.models.
User
(id, password, last_login, is_superuser, username, first_name, last_name, email, is_staff, is_active, date_joined)[source] -
exception
DoesNotExist
-
exception
User.
MultipleObjectsReturned
-
User.
auth_token
-
User.
created_filters
-
User.
created_rules
-
User.
get_gravatar_url
(size=120, default='mm')[source] Get Gravatar URL. :param size: :param default: :return:
-
User.
get_next_by_date_joined
(*moreargs, **morekwargs)
-
User.
get_previous_by_date_joined
(*moreargs, **morekwargs)
-
User.
groups
-
User.
logentry_set
-
User.
objects
= <django.contrib.auth.models.UserManager object>
-
User.
social_auth
-
User.
user_permissions
-
exception
Views¶
-
class
apps.accounts.views.
Details
(**kwargs)[source] -
get_context_data
(**kwargs)[source]
-
template_name
= 'accounts/details.html'
-
Forms¶
-
class
apps.accounts.forms.
LoginForm
(data=None, files=None, auto_id='id_%s', prefix=None, initial=None, error_class=<class 'django.forms.utils.ErrorList'>, label_suffix=None, empty_permitted=False)[source] Bases:
django.forms.forms.Form
Login Form
-
class
Meta
[source] Bases:
object
-
fields
= ['username', 'password']
-
-
LoginForm.
base_fields
= OrderedDict([('username', <django.forms.fields.CharField object>), ('password', <django.forms.fields.CharField object>)])
-
LoginForm.
declared_fields
= OrderedDict([('username', <django.forms.fields.CharField object>), ('password', <django.forms.fields.CharField object>)])
-
LoginForm.
media
-
class
API¶
The API module is responsible for an rest_framework API to provide real-time informations to the client-side. There are plans to expand this module for external API usages.
Models¶
Views¶
Serializers¶
-
class
apps.api.serializers.
FilterSetAdvancedSerializer
(instance=None, data=<class 'rest_framework.fields.empty'>, **kwargs)[source] -
class
Meta
[source] -
fields
= ('id', 'name', 'created_by', 'is_global', 'is_active', 'icon', 'count', 'rules')
-
model
alias of
FilterSet
-
-
class
-
class
apps.api.serializers.
FilterSetSerializer
(instance=None, data=<class 'rest_framework.fields.empty'>, **kwargs)[source] -
class
Meta
[source] -
fields
= ('name', 'created_by', 'is_global', 'is_active', 'icon', 'count')
-
model
alias of
FilterSet
-
-
class
-
class
apps.api.serializers.
MessagePartSerializer
(instance=None, data=<class 'rest_framework.fields.empty'>, **kwargs)[source] -
class
Meta
[source] -
fields
= ('id', 'is_attachment', 'type', 'filename', 'charset', 'body', 'size')
-
model
alias of
MessagePart
-
-
class
-
class
apps.api.serializers.
MessagePartSummarySerializer
(instance=None, data=<class 'rest_framework.fields.empty'>, **kwargs)[source] -
class
Meta
[source] -
fields
= ('id', 'is_attachment', 'type', 'filename', 'charset', 'size')
-
model
alias of
MessagePart
-
-
class
-
class
apps.api.serializers.
MessageSerializer
(instance=None, data=<class 'rest_framework.fields.empty'>, **kwargs)[source] -
class
Meta
[source] -
fields
= ('id', 'peer', 'port', 'sender_name', 'sender_address', 'recipients_to', 'recipients_cc', 'recipients_bcc', 'subject', 'size', 'type', 'headers', 'source', 'parts')
-
model
alias of
Message
-
-
class
Mails¶
The mails module is the core of the mails storage and the mail list.
Models¶
-
class
apps.mails.models.
Message
(id, created_at, updated_at, peer, port, sender_name, sender_address, recipients_to, recipients_cc, recipients_bcc, subject, source, size, type, headers)[source] -
exception
DoesNotExist
-
exception
Message.
MultipleObjectsReturned
-
static
Message.
cleanup
()[source]
-
static
Message.
count_all
()[source]
-
Message.
eml
-
Message.
get_next_by_created_at
(*moreargs, **morekwargs)
-
Message.
get_next_by_updated_at
(*moreargs, **morekwargs)
-
Message.
get_previous_by_created_at
(*moreargs, **morekwargs)
-
Message.
get_previous_by_updated_at
(*moreargs, **morekwargs)
-
Message.
has_attachments
-
Message.
headers
A placeholder class that provides a way to set the attribute on the model.
-
Message.
num_parts
-
Message.
num_real_parts
-
Message.
objects
= <django.db.models.manager.Manager object>
-
Message.
parts
-
Message.
recipients_bcc
A placeholder class that provides a way to set the attribute on the model.
-
Message.
recipients_cc
A placeholder class that provides a way to set the attribute on the model.
-
Message.
recipients_to
A placeholder class that provides a way to set the attribute on the model.
-
exception
-
class
apps.mails.models.
MessagePart
(id, created_at, updated_at, message, is_attachment, type, filename, charset, body, size)[source] -
exception
DoesNotExist
-
exception
MessagePart.
MultipleObjectsReturned
-
MessagePart.
get_next_by_created_at
(*moreargs, **morekwargs)
-
MessagePart.
get_next_by_updated_at
(*moreargs, **morekwargs)
-
MessagePart.
get_previous_by_created_at
(*moreargs, **morekwargs)
-
MessagePart.
get_previous_by_updated_at
(*moreargs, **morekwargs)
-
MessagePart.
message
-
MessagePart.
objects
= <django.db.models.manager.Manager object>
-
exception
Views¶
-
class
apps.mails.views.
MailList
(**kwargs)[source] -
get_context_data
(**kwargs)[source]
-
sortable_columns
= {'size': 'size', 'to': 'recipients_to', 'received': 'created_at', 'subject': 'subject', 'from': 'sender_address'}
-
template_name
= 'mails/list.html'
-
Filters¶
The filters module is the core of the filters and rules. It stores and deserialize intro Django ORM Q-objects.
Models¶
-
class
apps.filters.models.
FilterSet
(id, created_at, updated_at, name, created_by, is_global, is_active, icon, combine)[source] -
COMBINE_CHOICES
= (('and', 'Match all criteria (AND)'), ('or', 'Match one of the criteria (OR)'))
-
exception
DoesNotExist
-
FilterSet.
ICON_CHOICES
= (('fa fa-filter', 'Default Filter'), ('fa fa-server', 'Server'))
-
exception
FilterSet.
MultipleObjectsReturned
-
FilterSet.
combine
= None Combine of the rules
-
FilterSet.
count
-
FilterSet.
created_by
Couple filter to user. Use this especially when filter is not global but user defined.
-
static
FilterSet.
get_combine_choices
()[source]
-
FilterSet.
get_combine_display
(*moreargs, **morekwargs)
-
static
FilterSet.
get_icon_choices
()[source]
-
FilterSet.
get_icon_display
(*moreargs, **morekwargs)
-
FilterSet.
get_matches
()[source]
-
FilterSet.
get_next_by_created_at
(*moreargs, **morekwargs)
-
FilterSet.
get_next_by_updated_at
(*moreargs, **morekwargs)
-
FilterSet.
get_previous_by_created_at
(*moreargs, **morekwargs)
-
FilterSet.
get_previous_by_updated_at
(*moreargs, **morekwargs)
-
FilterSet.
icon
= None Icon to show in the list.
-
FilterSet.
is_active
= None Filter active. True to show in the filter list.
-
FilterSet.
is_global
= None Set true if the filter is global
-
FilterSet.
name
= None Name of the filter
-
FilterSet.
objects
= <django.db.models.manager.Manager object>
-
FilterSet.
rules
-
-
class
apps.filters.models.
Rule
(id, created_at, updated_at, filter_set, created_by, field, operator, negate, value)[source] -
exception
DoesNotExist
-
Rule.
FIELD_CHOICES
= (('peer', 'Peer Address'), ('port', 'Peer Port'), ('sender_name', 'Sender Name'), ('sender_address', 'Sender Address'), ('recipients_to', 'To Recipients'), ('recipients_cc', 'CC Recipients'), ('recipients_bcc', 'BCC Recipients'), ('subject', 'Subject'), ('size', 'Message Size'), ('type', 'Message Content Type'), ('headers', 'Message Headers'))
-
exception
Rule.
MultipleObjectsReturned
-
Rule.
OPERATOR_CHOICES
= (('iexact', 'Equal Than (==)'), ('icontains', 'Contains'), ('iregex', 'Matches Regular Expression'), ('isnull', 'Is NULL'), ('istrue', 'Is TRUE'), ('isfalse', 'Is FALSE'), ('lt', 'Less Than (<)'), ('gt', 'Greater Than (>)'), ('lte', 'Less or Equal Than (<=)'), ('gte', 'Greater or Equal Than (>=)'))
-
Rule.
created_by
Couple rule to user so we know if the user is allowed to change the Rule.
-
static
Rule.
deserialize_set
(filterset: apps.filters.models.FilterSet)[source]
-
Rule.
field
= None Field to run condition against.
-
Rule.
filter_set
-
Rule.
get_field_display
(*moreargs, **morekwargs)
-
Rule.
get_next_by_created_at
(*moreargs, **morekwargs)
-
Rule.
get_next_by_updated_at
(*moreargs, **morekwargs)
-
Rule.
get_operator_display
(*moreargs, **morekwargs)
-
Rule.
get_previous_by_created_at
(*moreargs, **morekwargs)
-
Rule.
get_previous_by_updated_at
(*moreargs, **morekwargs)
-
Rule.
negate
= None Negate condition
-
Rule.
objects
= <django.db.models.manager.Manager object>
-
Rule.
operator
= None Operator
-
exception
Forms¶
-
class
apps.filters.forms.
AdminFilterSetEditForm
(data=None, files=None, auto_id='id_%s', prefix=None, initial=None, error_class=<class 'django.forms.utils.ErrorList'>, label_suffix=None, empty_permitted=False, instance=None)[source] -
base_fields
= OrderedDict()
-
declared_fields
= OrderedDict()
-
media
-
-
class
apps.filters.forms.
AdvancedFilterSetForm
(data=None, files=None, auto_id='id_%s', prefix=None, initial=None, error_class=<class 'django.forms.utils.ErrorList'>, label_suffix=None, empty_permitted=False)[source] -
base_fields
= OrderedDict([('filter_name', <django.forms.fields.CharField object>), ('filter_condition', <django.forms.fields.ChoiceField object>), ('filter_is_global', <django.forms.fields.BooleanField object>), ('filter_is_active', <django.forms.fields.BooleanField object>), ('filter_icon', <django.forms.fields.ChoiceField object>), ('rules', <apps.filters.fields.JSONFormField object>)])
-
declared_fields
= OrderedDict([('filter_name', <django.forms.fields.CharField object>), ('filter_condition', <django.forms.fields.ChoiceField object>), ('filter_is_global', <django.forms.fields.BooleanField object>), ('filter_is_active', <django.forms.fields.BooleanField object>), ('filter_icon', <django.forms.fields.ChoiceField object>), ('rules', <apps.filters.fields.JSONFormField object>)])
-
get_rules
()[source]
-
media
-
update
(instance: apps.filters.models.FilterSet)[source]
-
-
class
apps.filters.forms.
FilterSetDeleteForm
(*args, **kwargs)[source] -
base_fields
= OrderedDict()
-
declared_fields
= OrderedDict()
-
media
-
Views¶
-
class
apps.filters.views.
DeleteView
(**kwargs)[source] -
get
(request, *args, **kwargs)[source]
-
post
(request, *args, **kwargs)[source]
-
template_name
= 'filters/delete.html'
-