<commit_before><link rel="import" href="foolslide.html">

<script>

    /**
     * 
     */
    class AtelierDuNoir extends FoolSlide {

        /**
         *
         */
        constructor() {
            super();
            super.id         = 'atelierdunoir';
            super.label      = 'AtelierDuNoir';
            this.tags        = [ 'manga', 'hight-quality', 'english', 'scanlation' ];
            this.url         = 'http://atelierdunoir.org';
            this.path        = '/reader/directory/'; 
            this.language    = 'english';

            this.queryMangas = 'div.row div.thumbnail div.caption';
        }

        /**
         *
         */
        _getMangaListFromPages( mangaPageLinks, index ) {
            if( index === undefined ) {
                index = 0;
            }
            return this.wait( 0 )
            .then ( () => this.fetchDOM( mangaPageLinks[ index ], this.queryMangas, 5 ) )
            .then( data => {
                let mangaList = data.map( element => {
                    let title = element.querySelector( 'h4' ).innerText;
                    let a = element.querySelector( 'a' );
                    return {
                        id: this.getRelativeLink( a ),
                        title: title.trim()
                    };
                } );
                if( index < mangaPageLinks.length - 1 ) {
                    return this._getMangaListFromPages( mangaPageLinks, index + 1 )
                    .then( mangas => mangas.concat( mangaList ) );
                } else {
                    return Promise.resolve( mangaList );
                }
            } );
        }

        /**
         *
         */
        _getMangaList( callback ) {
            this.fetchDOM( this.url + this.path, this.queryMangasPageCount )
            .then( data => {
                let pageCount = ( data.length === 0 ? 1 : parseInt( data[0].href.match(/(\d+)\/$/)[1] ) );
                return Promise.resolve( pageCount );
            } )
            .then( pageCount => {
                let pageLinks = [...( new Array( pageCount ) ).keys()].map( page => this.url + this.path + ( page + 1 ) + '/' );
                return this._getMangaListFromPages( pageLinks );
            } )
            .then( data => {
                callback( null, data );
            } )
            .catch( error => {
                console.error( error, this );
                callback( error, undefined );
            } );
        }<commit_msg>[atelierdunoir] removed method that has already been declared in base class<commit_after><link rel="import" href="foolslide.html">

<script>

    /**
     * 
     */
    class AtelierDuNoir extends FoolSlide {

        /**
         *
         */
        constructor() {
            super();
            super.id         = 'atelierdunoir';
            super.label      = 'AtelierDuNoir';
            this.tags        = [ 'manga', 'hight-quality', 'english', 'scanlation' ];
            this.url         = 'http://atelierdunoir.org';
            this.path        = '/reader/directory/'; 
            this.language    = 'english';

            this.queryMangas = 'div.row div.thumbnail div.caption';
        }

        /**
         *
         */
        _getMangaListFromPages( mangaPageLinks, index ) {
            if( index === undefined ) {
                index = 0;
            }
            return this.wait( 0 )
            .then ( () => this.fetchDOM( mangaPageLinks[ index ], this.queryMangas, 5 ) )
            .then( data => {
                let mangaList = data.map( element => {
                    let title = element.querySelector( 'h4' ).innerText;
                    let a = element.querySelector( 'a' );
                    return {
                        id: this.getRelativeLink( a ),
                        title: title.trim()
                    };
                } );
                if( index < mangaPageLinks.length - 1 ) {
                    return this._getMangaListFromPages( mangaPageLinks, index + 1 )
                    .then( mangas => mangas.concat( mangaList ) );
                } else {
                    return Promise.resolve( mangaList );
                }
            } );
        }
{'fraction_non_alphanumeric': 0.125147859001656, 'fraction_numerical': 0.0040217648450437665, 'mean_word_length': 1.1440162271805274, 'pattern_counts': {'":': 0, '<': 9, '<?xml version=': 0, '>': 20, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6644963', 'n_tokens_mistral': 1180, 'n_tokens_neox': 1107, 'n_words': 225}