SYMBOL INDEX (638 symbols across 96 files) FILE: docs/conf.py function setup (line 23) | def setup(app): FILE: management/commands/create_superuser_with_password.py class Command (line 5) | class Command(createsuperuser.Command): method add_arguments (line 8) | def add_arguments(self, parser): method handle (line 19) | def handle(self, *args, **options): FILE: presentation/js/reveal.js function initialize (line 223) | function initialize( options ) { function checkCapabilities (line 275) | function checkCapabilities() { function load (line 307) | function load() { function start (line 368) | function start() { function setupDOM (line 424) | function setupDOM() { function createStatusDiv (line 471) | function createStatusDiv() { function setupPDF (line 494) | function setupPDF() { function createSingletonNode (line 564) | function createSingletonNode( container, tagname, classname, innerHTML ) { function createBackgrounds (line 595) | function createBackgrounds() { function createBackground (line 662) | function createBackground( slide, container ) { function setupPostMessage (line 753) | function setupPostMessage() { function configure (line 777) | function configure( options ) { function addEventListeners (line 874) | function addEventListeners() { function removeEventListeners (line 952) | function removeEventListeners() { function extend (line 997) | function extend( a, b ) { function toArray (line 1008) | function toArray( o ) { function deserialize (line 1017) | function deserialize( value ) { function distanceBetween (line 1037) | function distanceBetween( a, b ) { function transformElement (line 1049) | function transformElement( element, transform ) { function injectStyleSheet (line 1062) | function injectStyleSheet( value ) { function colorToRgb (line 1085) | function colorToRgb( color ) { function colorBrightness (line 1135) | function colorBrightness( color ) { function getAbsoluteHeight (line 1151) | function getAbsoluteHeight( element ) { function getRemainingHeight (line 1188) | function getRemainingHeight( element, height ) { function isPrintingPDF (line 1213) | function isPrintingPDF() { function hideAddressBar (line 1222) | function hideAddressBar() { function removeAddressBar (line 1236) | function removeAddressBar() { function dispatchEvent (line 1248) | function dispatchEvent( type, args ) { function enableRollingLinks (line 1266) | function enableRollingLinks() { function disableRollingLinks (line 1291) | function disableRollingLinks() { function enablePreviewLinks (line 1310) | function enablePreviewLinks( selector ) { function disablePreviewLinks (line 1325) | function disablePreviewLinks() { function showPreview (line 1340) | function showPreview( url ) { function showHelp (line 1382) | function showHelp() { function closeOverlay (line 1427) | function closeOverlay() { function layout (line 1440) | function layout() { function layoutSlideContents (line 1523) | function layoutSlideContents( width, height, padding ) { function getComputedSlideSize (line 1556) | function getComputedSlideSize( presentationWidth, presentationHeight ) { function setPreviousVerticalIndex (line 1594) | function setPreviousVerticalIndex( stack, v ) { function getPreviousVerticalIndex (line 1609) | function getPreviousVerticalIndex( stack ) { function activateOverview (line 1629) | function activateOverview() { function deactivateOverview (line 1705) | function deactivateOverview() { function toggleOverview (line 1750) | function toggleOverview( override ) { function isOverview (line 1767) | function isOverview() { function isVerticalSlide (line 1780) | function isVerticalSlide( slide ) { function enterFullscreen (line 1795) | function enterFullscreen() { function pause (line 1816) | function pause() { function resume (line 1834) | function resume() { function togglePause (line 1850) | function togglePause( override ) { function isPaused (line 1864) | function isPaused() { function toggleAutoSlide (line 1877) | function toggleAutoSlide( override ) { function isAutoSliding (line 1892) | function isAutoSliding() { function slide (line 1909) | function slide( h, v, f, o ) { function sync (line 2053) | function sync() { function resetVerticalSlides (line 2090) | function resetVerticalSlides() { function sortAllFragments (line 2115) | function sortAllFragments() { function updateSlides (line 2146) | function updateSlides( selector, index ) { function updateSlidesVisibility (line 2252) | function updateSlidesVisibility() { function updateProgress (line 2321) | function updateProgress() { function updateSlideNumber (line 2335) | function updateSlideNumber() { function updateControls (line 2354) | function updateControls() { function updateBackground (line 2408) | function updateBackground( includeAll ) { function updateParallax (line 2515) | function updateParallax() { function showSlide (line 2552) | function showSlide( slide ) { function hideSlide (line 2630) | function hideSlide( slide ) { function availableRoutes (line 2649) | function availableRoutes() { function availableFragments (line 2678) | function availableFragments() { function formatEmbeddedContent (line 2698) | function formatEmbeddedContent() { function startEmbeddedContent (line 2722) | function startEmbeddedContent( slide ) { function stopEmbeddedContent (line 2758) | function stopEmbeddedContent( slide ) { function getProgress (line 2794) | function getProgress() { function isSpeakerNotes (line 2858) | function isSpeakerNotes() { function readURL (line 2867) | function readURL() { function writeURL (line 2915) | function writeURL( delay ) { function getIndices (line 2962) | function getIndices( slide ) { function getTotalSlides (line 3009) | function getTotalSlides() { function getSlide (line 3018) | function getSlide( x, y ) { function getSlideBackground (line 3037) | function getSlideBackground( x, y ) { function getState (line 3069) | function getState() { function setState (line 3088) | function setState( state ) { function sortFragments (line 3121) | function sortFragments( fragments ) { function navigateFragment (line 3179) | function navigateFragment( index, offset ) { function nextFragment (line 3262) | function nextFragment() { function previousFragment (line 3274) | function previousFragment() { function cueAutoSlide (line 3283) | function cueAutoSlide() { function cancelAutoSlide (line 3346) | function cancelAutoSlide() { function pauseAutoSlide (line 3353) | function pauseAutoSlide() { function resumeAutoSlide (line 3367) | function resumeAutoSlide() { function navigateLeft (line 3377) | function navigateLeft() { function navigateRight (line 3392) | function navigateRight() { function navigateUp (line 3407) | function navigateUp() { function navigateDown (line 3416) | function navigateDown() { function navigatePrev (line 3431) | function navigatePrev() { function navigateNext (line 3462) | function navigateNext() { function onUserInput (line 3492) | function onUserInput( event ) { function onDocumentKeyPress (line 3503) | function onDocumentKeyPress( event ) { function onDocumentKeyDown (line 3520) | function onDocumentKeyDown( event ) { function onTouchStart (line 3642) | function onTouchStart( event ) { function onTouchMove (line 3665) | function onTouchMove( event ) { function onTouchEnd (line 3752) | function onTouchEnd( event ) { function onPointerDown (line 3761) | function onPointerDown( event ) { function onPointerMove (line 3773) | function onPointerMove( event ) { function onPointerUp (line 3785) | function onPointerUp( event ) { function onDocumentMouseScroll (line 3798) | function onDocumentMouseScroll( event ) { function onProgressClicked (line 3822) | function onProgressClicked( event ) { function onNavigateLeftClicked (line 3838) | function onNavigateLeftClicked( event ) { event.preventDefault(); onUser... function onNavigateRightClicked (line 3839) | function onNavigateRightClicked( event ) { event.preventDefault(); onUse... function onNavigateUpClicked (line 3840) | function onNavigateUpClicked( event ) { event.preventDefault(); onUserIn... function onNavigateDownClicked (line 3841) | function onNavigateDownClicked( event ) { event.preventDefault(); onUser... function onNavigatePrevClicked (line 3842) | function onNavigatePrevClicked( event ) { event.preventDefault(); onUser... function onNavigateNextClicked (line 3843) | function onNavigateNextClicked( event ) { event.preventDefault(); onUser... function onWindowHashChange (line 3848) | function onWindowHashChange( event ) { function onWindowResize (line 3857) | function onWindowResize( event ) { function onPageVisibilityChange (line 3866) | function onPageVisibilityChange( event ) { function onOverviewSlideClicked (line 3884) | function onOverviewSlideClicked( event ) { function onPreviewLinkClicked (line 3917) | function onPreviewLinkClicked( event ) { function onAutoSlidePlayerClick (line 3932) | function onAutoSlidePlayerClick( event ) { function Playback (line 3966) | function Playback( container, progressCheck ) { FILE: presentation/plugin/highlight/highlight.js function j (line 30) | function j(v){return v.replace(/&/gm,"&").replace(/]+>|\t)+)/gm,function... function p (line 30) | function p(A){var B=r(A);if(/no(-?)highlight/.test(B)){return}var y;if(b... function s (line 30) | function s(v){b=o(b,v)} function l (line 30) | function l(){if(l.called){return}l.called=true;var v=document.querySelec... function a (line 30) | function a(){addEventListener("DOMContentLoaded",l,false);addEventListen... function d (line 30) | function d(v,x){var w=f[v]=x(this);if(w.aliases){w.aliases.forEach(funct... function k (line 30) | function k(){return Object.keys(f)} function i (line 30) | function i(v){return f[v]||f[n[v]]} FILE: presentation/plugin/leap/leap.js function i (line 15) | function i(n,s){if(!t[n]){if(!e[n]){var o=typeof require=="function"&&re... function indexOf (line 15) | function indexOf(xs,x){if(xs.indexOf)return xs.indexOf(x);for(var i=0;i<... FILE: presentation/plugin/markdown/markdown.js function getMarkdownFromSlide (line 39) | function getMarkdownFromSlide( section ) { function getForwardedAttributes (line 66) | function getForwardedAttributes( section ) { function getSlidifyOptions (line 94) | function getSlidifyOptions( options ) { function createMarkdownSlide (line 108) | function createMarkdownSlide( content, options ) { function slidify (line 126) | function slidify( markdown, options ) { function processSlides (line 199) | function processSlides() { function addAttributeInElement (line 281) | function addAttributeInElement( node, elementTarget, separator ) { function addAttributes (line 303) | function addAttributes( section, element, previousElement, separatorElem... function convertSlides (line 342) | function convertSlides() { FILE: presentation/plugin/markdown/marked.js function Lexer (line 10) | function Lexer(options){this.tokens=[];this.tokens.links={};this.options... function InlineLexer (line 21) | function InlineLexer(links,options){this.options=options||marked.default... function Parser (line 27) | function Parser(options){this.tokens=[];this.token=null; function escape (line 33) | function escape(html,encode){return html.replace(!encode?/&(?!#?\w+;)/g:... function replace (line 33) | function replace(regex,opt){regex=regex.source;opt=opt||"";return functi... function noop (line 33) | function noop(){} function merge (line 33) | function merge(obj){var i= function marked (line 34) | function marked(src,opt,callback){if(callback||typeof opt==="function"){... FILE: presentation/plugin/math/math.js function loadScript (line 35) | function loadScript( url, callback ) { FILE: presentation/plugin/notes-server/client.js function post (line 16) | function post() { FILE: presentation/plugin/notes/notes.js function openNotes (line 14) | function openNotes() { FILE: presentation/plugin/search/search.js function Hilitor (line 19) | function Hilitor(id, tag) function openSearch (line 111) | function openSearch() { function toggleSearch (line 119) | function toggleSearch() { function doSearch (line 130) | function doSearch() { FILE: presentation/plugin/zoom-js/zoom.js function magnify (line 88) | function magnify( rect, scale ) { function pan (line 164) | function pan() { function getScrollOffset (line 189) | function getScrollOffset() { FILE: src/documents/actions.py function select_action (line 10) | def select_action( function simple_action (line 62) | def simple_action( function add_tag_to_selected (line 86) | def add_tag_to_selected(modeladmin, request, queryset): function remove_tag_from_selected (line 100) | def remove_tag_from_selected(modeladmin, request, queryset): function set_correspondent_on_selected (line 114) | def set_correspondent_on_selected(modeladmin, request, queryset): function remove_correspondent_from_selected (line 129) | def remove_correspondent_from_selected(modeladmin, request, queryset): FILE: src/documents/admin.py class FinancialYearFilter (line 26) | class FinancialYearFilter(admin.SimpleListFilter): method _fy_start (line 32) | def _fy_start(self, year): method _fy_end (line 37) | def _fy_end(self, year): method _fy_does_wrap (line 42) | def _fy_does_wrap(self): method _determine_fy (line 53) | def _determine_fy(self, date): method lookups (line 72) | def lookups(self, request, model_admin): method queryset (line 82) | def queryset(self, request, queryset): class RecentCorrespondentFilter (line 91) | class RecentCorrespondentFilter(admin.RelatedFieldListFilter): method field_choices (line 97) | def field_choices(self, field, request, model_admin): class CommonAdmin (line 112) | class CommonAdmin(admin.ModelAdmin): class CorrespondentAdmin (line 116) | class CorrespondentAdmin(CommonAdmin): method get_queryset (line 130) | def get_queryset(self, request): method document_count (line 138) | def document_count(self, obj): method last_correspondence (line 142) | def last_correspondence(self, obj): class TagAdmin (line 147) | class TagAdmin(CommonAdmin): class Media (line 156) | class Media: method get_queryset (line 159) | def get_queryset(self, request): method document_count (line 164) | def document_count(self, obj): class DocumentAdmin (line 169) | class DocumentAdmin(DjangoQLSearchMixin, CommonAdmin): class Media (line 171) | class Media: method __init__ (line 199) | def __init__(self, *args, **kwargs): method has_add_permission (line 203) | def has_add_permission(self, request): method created_ (line 206) | def created_(self, obj): method changelist_view (line 210) | def changelist_view(self, request, extra_context=None): method change_view (line 223) | def change_view(self, request, object_id=None, form_url='', method response_change (line 245) | def response_change(self, request, obj): method thumbnail (line 283) | def thumbnail(self, obj): method tags_ (line 297) | def tags_(self, obj): method document (line 316) | def document(self, obj): method _html_tag (line 332) | def _html_tag(kind, inside=None, **kwargs): class LogAdmin (line 342) | class LogAdmin(CommonAdmin): FILE: src/documents/apps.py class DocumentsConfig (line 5) | class DocumentsConfig(AppConfig): method ready (line 9) | def ready(self): FILE: src/documents/checks.py function changed_password_check (line 9) | def changed_password_check(app_configs, **kwargs): FILE: src/documents/consumer.py class ConsumerError (line 24) | class ConsumerError(Exception): class Consumer (line 28) | class Consumer: method __init__ (line 42) | def __init__(self, consume=settings.CONSUMPTION_DIR, method log (line 78) | def log(self, level, message): method consume_new_files (line 83) | def consume_new_files(self): method try_consume_file (line 121) | def try_consume_file(self, file): method _get_parser_class (line 185) | def _get_parser_class(self, doc): method _store (line 210) | def _store(self, text, doc, thumbnail, date): method _write (line 253) | def _write(self, document, source, target): method _cleanup_doc (line 262) | def _cleanup_doc(self, doc): method _is_duplicate (line 267) | def _is_duplicate(doc): FILE: src/documents/filters.py class CorrespondentFilterSet (line 12) | class CorrespondentFilterSet(FilterSet): class Meta (line 14) | class Meta: class TagFilterSet (line 25) | class TagFilterSet(FilterSet): class Meta (line 27) | class Meta: class DocumentFilterSet (line 38) | class DocumentFilterSet(FilterSet): class Meta (line 47) | class Meta: FILE: src/documents/forms.py class UploadForm (line 13) | class UploadForm(forms.Form): method __init__ (line 33) | def __init__(self, *args, **kwargs): method clean_correspondent (line 37) | def clean_correspondent(self): method clean_title (line 55) | def clean_title(self): method clean_document (line 67) | def clean_document(self): method save (line 81) | def save(self): FILE: src/documents/loggers.py class PaperlessLogger (line 4) | class PaperlessLogger(logging.StreamHandler): method emit (line 10) | def emit(self, record): FILE: src/documents/mail.py class MailFetcherError (line 19) | class MailFetcherError(Exception): class InvalidMessageError (line 23) | class InvalidMessageError(MailFetcherError): class Loggable (line 27) | class Loggable(object): method __init__ (line 29) | def __init__(self, group=None): method log (line 33) | def log(self, level, message): class Message (line 39) | class Message(Loggable): method __init__ (line 47) | def __init__(self, data, group=None): method __bool__ (line 102) | def __bool__(self): method check_subject (line 105) | def check_subject(self): method check_body (line 112) | def check_body(self): method _set_time (line 116) | def _set_time(self, message): method file_name (line 126) | def file_name(self): class Attachment (line 130) | class Attachment(object): method __init__ (line 135) | def __init__(self, data, content_type): method read (line 147) | def read(self): class MailFetcher (line 151) | class MailFetcher(Loggable): method __init__ (line 153) | def __init__(self, consume=settings.CONSUMPTION_DIR): method pull (line 171) | def pull(self): method _get_messages (line 197) | def _get_messages(self): method _connect (line 218) | def _connect(self): method _login (line 225) | def _login(self): method _fetch (line 235) | def _fetch(self): FILE: src/documents/management/commands/change_storage_type.py class Command (line 11) | class Command(BaseCommand): method add_arguments (line 18) | def add_arguments(self, parser): method handle (line 36) | def handle(self, *args, **options): method __gpg_to_unencrypted (line 71) | def __gpg_to_unencrypted(passphrase): method __unencrypted_to_gpg (line 99) | def __unencrypted_to_gpg(passphrase): FILE: src/documents/management/commands/document_consumer.py class Command (line 17) | class Command(BaseCommand): method __init__ (line 26) | def __init__(self, *args, **kwargs): method add_arguments (line 37) | def add_arguments(self, parser): method handle (line 68) | def handle(self, *args, **options): method loop (line 103) | def loop(self, loop_time, mail_delta): method loop_step (line 112) | def loop_step(self, mail_delta, time_now=None): method loop_inotify (line 124) | def loop_inotify(self, mail_delta): FILE: src/documents/management/commands/document_correspondents.py class Command (line 10) | class Command(Renderable, BaseCommand): method __init__ (line 26) | def __init__(self, *args, **kwargs): method add_arguments (line 30) | def add_arguments(self, parser): method handle (line 40) | def handle(self, *args, **options): FILE: src/documents/management/commands/document_exporter.py class Command (line 16) | class Command(Renderable, BaseCommand): method add_arguments (line 24) | def add_arguments(self, parser): method __init__ (line 34) | def __init__(self, *args, **kwargs): method handle (line 38) | def handle(self, *args, **options): method dump (line 53) | def dump(self): method dump_legacy (line 102) | def dump_legacy(self): method _get_legacy_file_name (line 117) | def _get_legacy_file_name(doc): FILE: src/documents/management/commands/document_importer.py class Command (line 17) | class Command(Renderable, BaseCommand): method add_arguments (line 24) | def add_arguments(self, parser): method __init__ (line 27) | def __init__(self, *args, **kwargs): method handle (line 32) | def handle(self, *args, **options): method _check_manifest_exists (line 56) | def _check_manifest_exists(path): method _check_manifest (line 63) | def _check_manifest(self): method _import_files_from_manifest (line 83) | def _import_files_from_manifest(self): FILE: src/documents/management/commands/document_logs.py class Command (line 6) | class Command(BaseCommand): method handle (line 10) | def handle(self, *args, **options): FILE: src/documents/management/commands/document_renamer.py class Command (line 8) | class Command(Renderable, BaseCommand): method __init__ (line 14) | def __init__(self, *args, **kwargs): method handle (line 18) | def handle(self, *args, **options): FILE: src/documents/management/commands/document_retagger.py class Command (line 8) | class Command(Renderable, BaseCommand): method __init__ (line 17) | def __init__(self, *args, **kwargs): method handle (line 21) | def handle(self, *args, **options): FILE: src/documents/management/commands/loaddata_stdin.py class Command (line 6) | class Command(LoadDataCommand): method parse_name (line 12) | def parse_name(self, fixture_name): method find_fixtures (line 17) | def find_fixtures(self, fixture_label): FILE: src/documents/managers.py class GroupConcat (line 7) | class GroupConcat(models.Aggregate): method __init__ (line 23) | def __init__(self, expression, separator="\n", **extra): method _get_engine (line 36) | def _get_engine(self): method _get_function (line 46) | def _get_function(self): method _get_template (line 51) | def _get_template(self, separator): class LogQuerySet (line 58) | class LogQuerySet(models.query.QuerySet): method by_group (line 60) | def by_group(self): class LogManager (line 67) | class LogManager(models.Manager): method get_queryset (line 69) | def get_queryset(self): FILE: src/documents/migrations/0001_initial.py class Migration (line 9) | class Migration(migrations.Migration): FILE: src/documents/migrations/0002_auto_20151226_1316.py class Migration (line 9) | class Migration(migrations.Migration): FILE: src/documents/migrations/0003_sender.py function move_sender_strings_to_sender_model (line 14) | def move_sender_strings_to_sender_model(apps, schema_editor): function realign_senders (line 28) | def realign_senders(apps, schema_editor): class Migration (line 34) | class Migration(migrations.Migration): FILE: src/documents/migrations/0004_auto_20160114_1844.py class Migration (line 9) | class Migration(migrations.Migration): FILE: src/documents/migrations/0005_auto_20160123_0313.py class Migration (line 8) | class Migration(migrations.Migration): FILE: src/documents/migrations/0006_auto_20160123_0430.py class Migration (line 8) | class Migration(migrations.Migration): FILE: src/documents/migrations/0007_auto_20160126_2114.py class Migration (line 8) | class Migration(migrations.Migration): FILE: src/documents/migrations/0008_document_file_type.py class Migration (line 8) | class Migration(migrations.Migration): FILE: src/documents/migrations/0009_auto_20160214_0040.py class Migration (line 8) | class Migration(migrations.Migration): FILE: src/documents/migrations/0010_log.py class Migration (line 8) | class Migration(migrations.Migration): FILE: src/documents/migrations/0011_auto_20160303_1929.py class Migration (line 8) | class Migration(migrations.Migration): FILE: src/documents/migrations/0012_auto_20160305_0040.py class GnuPG (line 17) | class GnuPG(object): method decrypted (line 25) | def decrypted(cls, file_handle): method encrypted (line 30) | def encrypted(cls, file_handle): function move_documents_and_create_thumbnails (line 39) | def move_documents_and_create_thumbnails(apps, schema_editor): class Migration (line 114) | class Migration(migrations.Migration): FILE: src/documents/migrations/0013_auto_20160325_2111.py class Migration (line 9) | class Migration(migrations.Migration): FILE: src/documents/migrations/0014_document_checksum.py class GnuPG (line 16) | class GnuPG(object): method decrypted (line 24) | def decrypted(cls, file_handle): method encrypted (line 29) | def encrypted(cls, file_handle): class Document (line 38) | class Document(object): method __init__ (line 45) | def __init__(self, doc): method __str__ (line 53) | def __str__(self): method source_path (line 63) | def source_path(self): method source_file (line 72) | def source_file(self): method file_name (line 76) | def file_name(self): function set_checksums (line 80) | def set_checksums(apps, schema_editor): function do_nothing (line 126) | def do_nothing(apps, schema_editor): class Migration (line 130) | class Migration(migrations.Migration): FILE: src/documents/migrations/0015_add_insensitive_to_match.py class Migration (line 8) | class Migration(migrations.Migration): FILE: src/documents/migrations/0016_auto_20170325_1558.py class Migration (line 9) | class Migration(migrations.Migration): FILE: src/documents/migrations/0017_auto_20170512_0507.py class Migration (line 8) | class Migration(migrations.Migration): FILE: src/documents/migrations/0018_auto_20170715_1712.py class Migration (line 9) | class Migration(migrations.Migration): FILE: src/documents/migrations/0019_add_consumer_user.py function forwards_func (line 9) | def forwards_func(apps, schema_editor): function reverse_func (line 13) | def reverse_func(apps, schema_editor): class Migration (line 17) | class Migration(migrations.Migration): FILE: src/documents/migrations/0020_document_added.py function set_added_time_to_created_time (line 8) | def set_added_time_to_created_time(apps, schema_editor): class Migration (line 15) | class Migration(migrations.Migration): FILE: src/documents/migrations/0021_document_storage_type.py class Migration (line 8) | class Migration(migrations.Migration): FILE: src/documents/migrations/0022_auto_20181007_1420.py function re_slug_all_the_things (line 7) | def re_slug_all_the_things(apps, schema_editor): class Migration (line 25) | class Migration(migrations.Migration): FILE: src/documents/migrations/0023_document_current_filename.py function set_filename (line 6) | def set_filename(apps, schema_editor): class Migration (line 20) | class Migration(migrations.Migration): FILE: src/documents/mixins.py class Renderable (line 1) | class Renderable: method _render (line 7) | def _render(self, text, verbosity): FILE: src/documents/models.py class MatchingModel (line 27) | class MatchingModel(models.Model): class Meta (line 66) | class Meta: method __str__ (line 70) | def __str__(self): method conditions (line 74) | def conditions(self): method match_all (line 79) | def match_all(cls, text, tags=None): method matches (line 89) | def matches(self, text): method _split_match (line 133) | def _split_match(self): method save (line 150) | def save(self, *args, **kwargs): class Correspondent (line 158) | class Correspondent(MatchingModel): class Meta (line 164) | class Meta: class Tag (line 168) | class Tag(MatchingModel): class Document (line 189) | class Document(models.Model): class Meta (line 267) | class Meta: method __str__ (line 270) | def __str__(self): method find_renamed_document (line 279) | def find_renamed_document(self, subdirectory=""): method source_filename (line 305) | def source_filename(self): method many_to_dictionary (line 332) | def many_to_dictionary(field): method generate_source_filename (line 357) | def generate_source_filename(self): method create_source_directory (line 383) | def create_source_directory(self): method source_path (line 393) | def source_path(self): method filename_to_path (line 397) | def filename_to_path(filename): method source_file (line 406) | def source_file(self): method file_name (line 410) | def file_name(self): method download_url (line 414) | def download_url(self): method thumbnail_path (line 418) | def thumbnail_path(self): method thumbnail_file (line 432) | def thumbnail_file(self): method thumbnail_url (line 436) | def thumbnail_url(self): method set_filename (line 439) | def set_filename(self, filename): method try_delete_empty_directories (line 444) | def try_delete_empty_directories(directory): method delete_all_empty_subdirectories (line 462) | def delete_all_empty_subdirectories(directory): function update_filename (line 487) | def update_filename(sender, instance, **kwargs): function delete_files (line 539) | def delete_files(sender, instance, **kwargs): class Log (line 559) | class Log(models.Model): class Meta (line 577) | class Meta: method __str__ (line 580) | def __str__(self): method save (line 583) | def save(self, *args, **kwargs): class FileInfo (line 597) | class FileInfo: method __init__ (line 662) | def __init__(self, created=None, correspondent=None, title=None, tags=(), method _get_created (line 672) | def _get_created(cls, created): method _get_correspondent (line 679) | def _get_correspondent(cls, name): method _get_title (line 687) | def _get_title(cls, title): method _get_tags (line 691) | def _get_tags(cls, tags): method _get_extension (line 701) | def _get_extension(cls, extension): method _mangle_property (line 710) | def _mangle_property(cls, properties, name): method from_path (line 717) | def from_path(cls, path): FILE: src/documents/parsers.py class ParseError (line 32) | class ParseError(Exception): class DocumentParser (line 36) | class DocumentParser: method __init__ (line 42) | def __init__(self, path): method get_thumbnail (line 49) | def get_thumbnail(self): method optimise_thumbnail (line 55) | def optimise_thumbnail(self, in_path): method get_optimised_thumbnail (line 65) | def get_optimised_thumbnail(self): method get_text (line 68) | def get_text(self): method get_date (line 74) | def get_date(self): method log (line 155) | def log(self, level, message): method cleanup (line 160) | def cleanup(self): FILE: src/documents/serialisers.py class CorrespondentSerializer (line 6) | class CorrespondentSerializer(serializers.HyperlinkedModelSerializer): class Meta (line 8) | class Meta: class TagSerializer (line 20) | class TagSerializer(serializers.HyperlinkedModelSerializer): class Meta (line 22) | class Meta: class CorrespondentField (line 35) | class CorrespondentField(serializers.HyperlinkedRelatedField): method get_queryset (line 36) | def get_queryset(self): class TagsField (line 40) | class TagsField(serializers.HyperlinkedRelatedField): method get_queryset (line 41) | def get_queryset(self): class DocumentSerializer (line 45) | class DocumentSerializer(serializers.ModelSerializer): class Meta (line 51) | class Meta: class LogSerializer (line 70) | class LogSerializer(serializers.ModelSerializer): class Meta (line 75) | class Meta: FILE: src/documents/signals/handlers.py function logger (line 14) | def logger(message, group): function set_correspondent (line 18) | def set_correspondent(sender, document=None, logging_group=None, **kwargs): function set_tags (line 47) | def set_tags(sender, document=None, logging_group=None, **kwargs): function run_pre_consume_script (line 64) | def run_pre_consume_script(sender, filename, **kwargs): function run_post_consume_script (line 72) | def run_post_consume_script(sender, document, **kwargs): function cleanup_document_deletion (line 90) | def cleanup_document_deletion(sender, instance, using, **kwargs): function set_log_entry (line 102) | def set_log_entry(sender, document=None, logging_group=None, **kwargs): FILE: src/documents/templatetags/customisation.py function custom_css (line 11) | def custom_css(): function custom_js (line 26) | def custom_js(): FILE: src/documents/templatetags/hacks.py function result_list (line 17) | def result_list(cl): function add_doc_edit_url (line 35) | def add_doc_edit_url(result): FILE: src/documents/tests/factories.py class CorrespondentFactory (line 6) | class CorrespondentFactory(factory.DjangoModelFactory): class Meta (line 8) | class Meta: class DocumentFactory (line 14) | class DocumentFactory(factory.DjangoModelFactory): class Meta (line 16) | class Meta: FILE: src/documents/tests/test_checks.py class ChecksTestCase (line 10) | class ChecksTestCase(TestCase): method test_changed_password_check_empty_db (line 12) | def test_changed_password_check_empty_db(self): method test_changed_password_check_no_encryption (line 15) | def test_changed_password_check_no_encryption(self): method test_changed_password_check_gpg_encryption_with_good_password (line 20) | def test_changed_password_check_gpg_encryption_with_good_password(self): method test_changed_password_check_fail (line 24) | def test_changed_password_check_fail(self): FILE: src/documents/tests/test_consumer.py class TestConsumer (line 14) | class TestConsumer(TestCase): method setUp (line 17) | def setUp(self): method tearDown (line 41) | def tearDown(self): method test_file_consumption (line 52) | def test_file_consumption(self): method test_duplicate_file_consumption (line 68) | def test_duplicate_file_consumption(self): class DummyParser (line 88) | class DummyParser(object): method test__get_parser_class_1_parser (line 91) | def test__get_parser_class_1_parser(self): method test__get_parser_class_n_parsers (line 100) | def test__get_parser_class_n_parsers(self, m, *args): method test__get_parser_class_0_parsers (line 121) | def test__get_parser_class_0_parsers(self, m, *args): method _get_consumer (line 131) | def _get_consumer(self, m, *args): class TestAttributes (line 139) | class TestAttributes(TestCase): method _test_guess_attributes_from_name (line 148) | def _test_guess_attributes_from_name(self, path, sender, title, tags): method test_guess_attributes_from_name0 (line 170) | def test_guess_attributes_from_name0(self): method test_guess_attributes_from_name1 (line 174) | def test_guess_attributes_from_name1(self): method test_guess_attributes_from_name2 (line 178) | def test_guess_attributes_from_name2(self): method test_guess_attributes_from_name3 (line 182) | def test_guess_attributes_from_name3(self): method test_guess_attributes_from_name4 (line 186) | def test_guess_attributes_from_name4(self): method test_guess_attributes_from_name5 (line 190) | def test_guess_attributes_from_name5(self): method test_guess_attributes_from_name6 (line 198) | def test_guess_attributes_from_name6(self): method test_guess_attributes_from_name7 (line 206) | def test_guess_attributes_from_name7(self): method test_guess_attributes_from_name8 (line 214) | def test_guess_attributes_from_name8(self): method test_guess_attributes_from_name9 (line 222) | def test_guess_attributes_from_name9(self): method test_guess_attributes_from_name10 (line 230) | def test_guess_attributes_from_name10(self): method test_guess_attributes_from_name_when_correspondent_empty (line 238) | def test_guess_attributes_from_name_when_correspondent_empty(self): method test_guess_attributes_from_name_when_title_starts_with_dash (line 246) | def test_guess_attributes_from_name_when_title_starts_with_dash(self): method test_guess_attributes_from_name_when_title_ends_with_dash (line 254) | def test_guess_attributes_from_name_when_title_ends_with_dash(self): method test_guess_attributes_from_name_when_title_is_empty (line 262) | def test_guess_attributes_from_name_when_title_is_empty(self): method test_case_insensitive_tag_creation (line 270) | def test_case_insensitive_tag_creation(self): class TestFieldPermutations (line 285) | class TestFieldPermutations(TestCase): method _test_guessed_attributes (line 302) | def _test_guessed_attributes(self, filename, created=None, method test_just_title (line 339) | def test_just_title(self): method test_title_and_correspondent (line 347) | def test_title_and_correspondent(self): method test_title_and_correspondent_and_tags (line 357) | def test_title_and_correspondent_and_tags(self): method test_created_and_correspondent_and_title_and_tags (line 368) | def test_created_and_correspondent_and_title_and_tags(self): method test_created_and_correspondent_and_title (line 393) | def test_created_and_correspondent_and_title(self): method test_created_and_title (line 416) | def test_created_and_title(self): method test_created_and_title_and_tags (line 431) | def test_created_and_title_and_tags(self): method test_invalid_date_format (line 448) | def test_invalid_date_format(self): method test_filename_parse_transforms (line 453) | def test_filename_parse_transforms(self): FILE: src/documents/tests/test_document_model.py class TestDocument (line 8) | class TestDocument(TestCase): method test_file_deletion (line 10) | def test_file_deletion(self): FILE: src/documents/tests/test_file_handling.py class TestDate (line 15) | class TestDate(TestCase): method setUp (line 16) | def setUp(self): method tearDown (line 25) | def tearDown(self): method test_source_filename (line 30) | def test_source_filename(self): method test_generate_source_filename (line 42) | def test_generate_source_filename(self): method test_file_renaming (line 56) | def test_file_renaming(self): method test_file_renaming_missing_permissions (line 98) | def test_file_renaming_missing_permissions(self): method test_document_delete (line 132) | def test_document_delete(self): method test_document_delete_nofile (line 153) | def test_document_delete_nofile(self): method test_directory_not_empty (line 163) | def test_directory_not_empty(self): method test_tags_with_underscore (line 193) | def test_tags_with_underscore(self): method test_tags_with_dash (line 213) | def test_tags_with_dash(self): method test_tags_malformed (line 233) | def test_tags_malformed(self): method test_tags_all (line 253) | def test_tags_all(self): method test_tags_out_of_bounds_0 (line 272) | def test_tags_out_of_bounds_0(self): method test_tags_out_of_bounds_10000000 (line 287) | def test_tags_out_of_bounds_10000000(self): method test_tags_out_of_bounds_99 (line 302) | def test_tags_out_of_bounds_99(self): method test_nested_directory_cleanup (line 318) | def test_nested_directory_cleanup(self): method test_format_none (line 347) | def test_format_none(self): method test_document_renamed (line 357) | def test_document_renamed(self): method test_document_renamed_encrypted (line 403) | def test_document_renamed_encrypted(self): method test_delete_all_empty_subdirectories (line 447) | def test_delete_all_empty_subdirectories(self): method test_try_delete_empty_directories (line 467) | def test_try_delete_empty_directories(self): method test_document_accidentally_deleted (line 488) | def test_document_accidentally_deleted(self): method test_set_filename (line 521) | def test_set_filename(self): FILE: src/documents/tests/test_importer.py class TestImporter (line 9) | class TestImporter(TestCase): method __init__ (line 11) | def __init__(self, *args, **kwargs): method test_check_manifest_exists (line 14) | def test_check_manifest_exists(self): method test_check_manifest (line 19) | def test_check_manifest(self): FILE: src/documents/tests/test_logger.py class TestPaperlessLog (line 11) | class TestPaperlessLog(TestCase): method __init__ (line 13) | def __init__(self, *args, **kwargs): method test_that_it_saves_at_all (line 18) | def test_that_it_saves_at_all(self): method test_groups (line 42) | def test_groups(self): method test_groupped_query (line 71) | def test_groupped_query(self): FILE: src/documents/tests/test_mail.py class TestMessage (line 14) | class TestMessage(TestCase): method __init__ (line 16) | def __init__(self, *args, **kwargs): method test_init (line 27) | def test_init(self): class TestInlineMessage (line 48) | class TestInlineMessage(TestCase): method __init__ (line 50) | def __init__(self, *args, **kwargs): method test_init (line 61) | def test_init(self): class TestAttachment (line 82) | class TestAttachment(TestCase): method test_init (line 84) | def test_init(self): FILE: src/documents/tests/test_matchables.py class TestMatching (line 11) | class TestMatching(TestCase): method _test_matching (line 13) | def _test_matching(self, text, algorithm, true, false): method test_match_all (line 31) | def test_match_all(self): method test_match_any (line 80) | def test_match_any(self): method test_match_literal (line 127) | def test_match_literal(self): method test_match_regex (line 166) | def test_match_regex(self): method test_match_fuzzy (line 187) | def test_match_fuzzy(self): class TestDocumentConsumptionFinishedSignal (line 205) | class TestDocumentConsumptionFinishedSignal(TestCase): method setUp (line 211) | def setUp(self): method test_tag_applied_any (line 217) | def test_tag_applied_any(self): method test_tag_not_applied (line 224) | def test_tag_not_applied(self): method test_correspondent_applied (line 231) | def test_correspondent_applied(self): method test_correspondent_not_applied (line 241) | def test_correspondent_not_applied(self): method test_logentry_created (line 251) | def test_logentry_created(self): FILE: src/documents/tests/test_models.py class CorrespondentTestCase (line 7) | class CorrespondentTestCase(TestCase): method test___str__ (line 9) | def test___str__(self): class DocumentTestCase (line 15) | class DocumentTestCase(TestCase): method test_correspondent_deletion_does_not_cascade (line 17) | def test_correspondent_deletion_does_not_cascade(self): FILE: src/documents/views.py class IndexView (line 35) | class IndexView(TemplateView): class FetchView (line 39) | class FetchView(SessionOrBasicAuthMixin, DetailView): method render_to_response (line 43) | def render_to_response(self, context, **response_kwargs): method _get_raw_data (line 82) | def _get_raw_data(self, file_handle): class PushView (line 88) | class PushView(SessionOrBasicAuthMixin, FormView): method form_valid (line 95) | def form_valid(self, form): method form_invalid (line 99) | def form_invalid(self, form): class CorrespondentViewSet (line 103) | class CorrespondentViewSet(ModelViewSet): class TagViewSet (line 114) | class TagViewSet(ModelViewSet): class DocumentViewSet (line 125) | class DocumentViewSet(RetrieveModelMixin, class LogViewSet (line 142) | class LogViewSet(ReadOnlyModelViewSet): FILE: src/paperless/checks.py function paths_check (line 9) | def paths_check(app_configs, **kwargs): function binaries_check (line 70) | def binaries_check(app_configs, **kwargs): FILE: src/paperless/db.py class GnuPG (line 6) | class GnuPG: method decrypted (line 14) | def decrypted(cls, file_handle, passphrase=None): method encrypted (line 22) | def encrypted(cls, file_handle, passphrase=None): FILE: src/paperless/middleware.py class Middleware (line 5) | class Middleware(MiddlewareMixin): method process_request (line 13) | def process_request(self, request): FILE: src/paperless/mixins.py class SessionOrBasicAuthMixin (line 6) | class SessionOrBasicAuthMixin(AccessMixin): method dispatch (line 16) | def dispatch(self, request, *args, **kwargs): FILE: src/paperless/models.py class User (line 4) | class User: method id (line 16) | def id(self): method pk (line 20) | def pk(self): FILE: src/paperless/settings.py function __get_boolean (line 27) | def __get_boolean(key, default="NO"): FILE: src/paperless/views.py class StandardPagination (line 8) | class StandardPagination(PageNumberPagination): class FaviconView (line 14) | class FaviconView(View): method get (line 16) | def get(self, request, *args, **kwargs): FILE: src/paperless_tesseract/apps.py class PaperlessTesseractConfig (line 4) | class PaperlessTesseractConfig(AppConfig): method ready (line 8) | def ready(self): FILE: src/paperless_tesseract/parsers.py class OCRError (line 21) | class OCRError(Exception): class RasterisedDocumentParser (line 25) | class RasterisedDocumentParser(DocumentParser): method __init__ (line 39) | def __init__(self, path): method get_thumbnail (line 43) | def get_thumbnail(self): method _is_ocred (line 88) | def _is_ocred(self): method get_text (line 97) | def get_text(self): method _get_greyscale (line 115) | def _get_greyscale(self): method _guess_language (line 148) | def _guess_language(self, text): method _get_ocr (line 156) | def _get_ocr(self, imgs): method _ocr (line 211) | def _ocr(self, imgs, lang): method _assemble_ocr_sections (line 228) | def _assemble_ocr_sections(self, imgs, middle, text): function run_convert (line 238) | def run_convert(*args): function run_unpaper (line 250) | def run_unpaper(args): function strip_excess_whitespace (line 258) | def strip_excess_whitespace(text): function image_to_string (line 267) | def image_to_string(args): function get_text_from_pdf (line 280) | def get_text_from_pdf(pdf_file): FILE: src/paperless_tesseract/signals.py class ConsumerDeclaration (line 6) | class ConsumerDeclaration: method handle (line 11) | def handle(cls, sender, **kwargs): method test (line 15) | def test(cls, doc): FILE: src/paperless_tesseract/tests/test_date.py class TestDate (line 14) | class TestDate(TestCase): method setUp (line 17) | def setUp(self): method tearDown (line 23) | def tearDown(self): method test_date_format_1 (line 26) | def test_date_format_1(self): method test_date_format_2 (line 32) | def test_date_format_2(self): method test_date_format_3 (line 38) | def test_date_format_3(self): method test_date_format_4 (line 44) | def test_date_format_4(self): method test_date_format_5 (line 57) | def test_date_format_5(self): method test_date_format_6 (line 73) | def test_date_format_6(self): method test_date_format_7 (line 89) | def test_date_format_7(self): method test_date_format_8 (line 106) | def test_date_format_8(self): method test_date_format_9 (line 129) | def test_date_format_9(self): method test_crazy_date_past (line 150) | def test_crazy_date_past(self, *args): method test_crazy_date_future (line 159) | def test_crazy_date_future(self, *args): method test_crazy_date_with_spaces (line 168) | def test_crazy_date_with_spaces(self, *args): method test_filename_date_parse_invalid (line 178) | def test_filename_date_parse_invalid(self, *args): FILE: src/paperless_tesseract/tests/test_ocr.py class FakeTesseract (line 13) | class FakeTesseract(object): method can_detect_orientation (line 16) | def can_detect_orientation(): method detect_orientation (line 20) | def detect_orientation(file_handle, lang): method image_to_string (line 24) | def image_to_string(file_handle, lang): class FakePyOcr (line 28) | class FakePyOcr(object): method get_available_tools (line 31) | def get_available_tools(): class TestOCR (line 37) | class TestOCR(TestCase): method test_strip_excess_whitespace (line 53) | def test_strip_excess_whitespace(self): method test_image_to_string_with_text_free_page (line 68) | def test_image_to_string_with_text_free_page(self): FILE: src/paperless_tesseract/tests/test_signals.py class SignalsTestCase (line 6) | class SignalsTestCase(TestCase): method test_test_handles_various_file_names_true (line 8) | def test_test_handles_various_file_names_true(self): method test_test_handles_various_file_names_false (line 25) | def test_test_handles_various_file_names_false(self): FILE: src/paperless_text/apps.py class PaperlessTextConfig (line 4) | class PaperlessTextConfig(AppConfig): method ready (line 8) | def ready(self): FILE: src/paperless_text/parsers.py class TextDocumentParser (line 9) | class TextDocumentParser(DocumentParser): method __init__ (line 20) | def __init__(self, path): method get_thumbnail (line 24) | def get_thumbnail(self): method get_text (line 85) | def get_text(self): function run_command (line 96) | def run_command(*args): FILE: src/paperless_text/signals.py class ConsumerDeclaration (line 6) | class ConsumerDeclaration: method handle (line 11) | def handle(cls, sender, **kwargs): method test (line 15) | def test(cls, doc): FILE: src/reminders/admin.py class ReminderAdmin (line 7) | class ReminderAdmin(admin.ModelAdmin): class Media (line 9) | class Media: FILE: src/reminders/apps.py class RemindersConfig (line 4) | class RemindersConfig(AppConfig): FILE: src/reminders/filters.py class ReminderFilterSet (line 6) | class ReminderFilterSet(FilterSet): class Meta (line 8) | class Meta(object): FILE: src/reminders/migrations/0001_initial.py class Migration (line 9) | class Migration(migrations.Migration): FILE: src/reminders/migrations/0002_auto_20181007_1420.py class Migration (line 7) | class Migration(migrations.Migration): FILE: src/reminders/models.py class Reminder (line 4) | class Reminder(models.Model): FILE: src/reminders/serialisers.py class ReminderSerializer (line 7) | class ReminderSerializer(serializers.HyperlinkedModelSerializer): class Meta (line 12) | class Meta(object): FILE: src/reminders/views.py class ReminderViewSet (line 14) | class ReminderViewSet(ModelViewSet):