public DownloadFilesActivity(AnimeFileDatabase db, ProgramSettings ps)
        {
            this.db = db;
            this.ps = ps;

            ddat  = new DccDownloadActivityTask(db, ps);
            gfpat = new GetFilteredPacksActivityTask(db, ps);

            dccClient = new DCCClient();

            dccClient.OnDccDebugMessage += dccDebug;

            ircClient = new IrcClient();
            ircClient.SetConnectionInformation(
                rizon, "maievBot", hsChannel, dccClient, ps.settings.FolderInput);

            //ircClient.OnMessageReceived += IrcClient_OnMessageReceived;
            //ircClient.OnRawMessageReceived += IrcClient_OnRawMessageReceived;

            var res = ircClient.Connect();
        }
 public DiscoverFilesActivity(AnimeFileDatabase db, ProgramSettings ps)
 {
     this.db = db;
     this.ps = ps;
 }
 public LoadMagnetQBActivityTask(AnimeFileDatabase db, ProgramSettings ps) : base(db, ps)
 {
 }
 public DriveUploadActivityTask(AnimeFileDatabase db)
 {
     this.db = db;
 }
 public GetFilteredPacksActivityTask(AnimeFileDatabase db, ProgramSettings ps) : base(db, ps)
 {
     client = new HttpClient();
     gpat   = new GetPacklistActivityTask(client);
 }
Exemplo n.º 6
0
        static void Main(string[] args)
        {
            AnimeFileDatabase db = new AnimeFileDatabase();
            ProgramSettings   ps = new ProgramSettings();

            /*
             *    DownloadFilesActivity downloadActivity = new DownloadFilesActivity(db, ps);
             *    DiscoverFilesActivity discoverActivity = new DiscoverFilesActivity(db, ps);
             *    EncodeFilesActivity encodeActivity = new EncodeFilesActivity(db, ps);
             *    UploadFilesActivity uploadActivity = new UploadFilesActivity(db, ps);
             */
            /*
             *    Action runCycle = () =>
             *    {
             *        //downloadActivity.Execute();
             *
             *        discoverActivity.Execute();
             *
             *        var discovered = db.GetDiscoveredFiles();
             *
             *        encodeActivity.Execute(discovered);
             *
             *        var encoded = db.GetEncodedFiles();
             *
             *        uploadActivity.Execute(encoded);
             *    };
             */

            Stopwatch timer = new Stopwatch();

            // cycle time from 20 minutes to milliseconds
            var cycleMilliseconds = ps.settings.SyncTime * 60 * 1000;

            while (true)
            {
                timer.Reset();
                timer.Start();

                ps = new ProgramSettings();

                DiscoverFilesActivity      discoverActivity    = new DiscoverFilesActivity(db, ps);
                EncodeFilesActivity        encodeActivity      = new EncodeFilesActivity(db, ps);
                UploadFilesActivity        uploadActivity      = new UploadFilesActivity(db, ps);
                DownloadRssTorrentActivity rssDownloadActivity = new DownloadRssTorrentActivity(db, ps);

                //runCycle();
                //-----------

                //downloadActivity.Execute();

                rssDownloadActivity.Execute();

                discoverActivity.Execute();

                var discovered = db.GetDiscoveredFiles();

                encodeActivity.Execute(discovered);

                var encoded = db.GetEncodedFiles();

                uploadActivity.Execute(encoded);

                //--------

                timer.Stop();

                var elapsed = timer.ElapsedMilliseconds;

                // wait if there was no enough work
                if (cycleMilliseconds > elapsed)
                {
                    Thread.Sleep((int)(cycleMilliseconds - elapsed));
                }
            }
        }
Exemplo n.º 7
0
 public ReadRssActivityTask(AnimeFileDatabase db, ProgramSettings ps) : base(db, ps)
 {
 }
Exemplo n.º 8
0
 public ActivityBase(AnimeFileDatabase db, ProgramSettings ps)
 {
     this.db = db;
     this.ps = ps;
 }
Exemplo n.º 9
0
 public DccDownloadActivityTask(AnimeFileDatabase db, ProgramSettings ps)
 {
     this.db = db;
     this.ps = ps;
 }
Exemplo n.º 10
0
 public DownloadRssTorrentActivity(AnimeFileDatabase db, ProgramSettings ps) : base(db, ps)
 {
     rssTask = new ReadRssActivityTask(db, ps);
     qbtask  = new LoadMagnetQBActivityTask(db, ps);
 }