Version 5.1 - All the GraphQL #32
@ -1,6 +1,9 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
## Version 3
|
## Version 3
|
||||||
|
* Converted user configuration to toml files
|
||||||
* Added a caching layer for api calls, which resets upon updates from the
|
* Added a caching layer for api calls, which resets upon updates from the
|
||||||
app.
|
app.
|
||||||
|
* Added a bulk thumbnail generator script
|
||||||
* Removed json file "cache" from the app folder
|
* Removed json file "cache" from the app folder
|
||||||
|
|
||||||
|
3
console
3
console
@ -52,7 +52,8 @@ unset($CONF_DIR);
|
|||||||
// Start console script
|
// Start console script
|
||||||
// ---------------------------------------------------------------------------------------------------------------------
|
// ---------------------------------------------------------------------------------------------------------------------
|
||||||
$console = new \ConsoleKit\Console([
|
$console = new \ConsoleKit\Console([
|
||||||
'cache-images' => '\Aviat\AnimeClient\Command\CacheImages'
|
'cache-images' => '\Aviat\AnimeClient\Command\CacheImages',
|
||||||
|
'clear-cache' => '\Aviat\AnimeClient\Command\ClearCache',
|
||||||
]);
|
]);
|
||||||
|
|
||||||
$console->run();
|
$console->run();
|
@ -14,6 +14,8 @@
|
|||||||
namespace Aviat\AnimeClient\Command;
|
namespace Aviat\AnimeClient\Command;
|
||||||
|
|
||||||
use Aura\Session\SessionFactory;
|
use Aura\Session\SessionFactory;
|
||||||
|
use ConsoleKit\Command;
|
||||||
|
use ConsoleKit\Widgets\Box;
|
||||||
|
|
||||||
use Aviat\Ion\Di\Container;
|
use Aviat\Ion\Di\Container;
|
||||||
use Aviat\Ion\Cache\CacheManager;
|
use Aviat\Ion\Cache\CacheManager;
|
||||||
@ -25,9 +27,28 @@ use Aviat\AnimeClient\Model;
|
|||||||
/**
|
/**
|
||||||
* Base class for console command setup
|
* Base class for console command setup
|
||||||
*/
|
*/
|
||||||
class BaseCommand extends \ConsoleKit\Command {
|
class BaseCommand extends Command {
|
||||||
use \Aviat\Ion\Di\ContainerAware;
|
use \Aviat\Ion\Di\ContainerAware;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Echo text in a box
|
||||||
|
*
|
||||||
|
* @param string $message
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
protected function echoBox($message)
|
||||||
|
{
|
||||||
|
echo "\n";
|
||||||
|
$box = new Box($this->getConsole(), $message);
|
||||||
|
$box->write();
|
||||||
|
echo "\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Setup the Di container
|
||||||
|
*
|
||||||
|
* @return Container
|
||||||
|
*/
|
||||||
protected function setupContainer()
|
protected function setupContainer()
|
||||||
{
|
{
|
||||||
$CONF_DIR = __DIR__ . '/../../../../app/config/';
|
$CONF_DIR = __DIR__ . '/../../../../app/config/';
|
||||||
|
@ -13,8 +13,6 @@
|
|||||||
|
|
||||||
namespace Aviat\AnimeClient\Command;
|
namespace Aviat\AnimeClient\Command;
|
||||||
|
|
||||||
use \ConsoleKit\Widgets\Box;
|
|
||||||
|
|
||||||
use Aviat\AnimeClient\Model;
|
use Aviat\AnimeClient\Model;
|
||||||
/**
|
/**
|
||||||
* Generates thumbnail image cache so that cover images load faster
|
* Generates thumbnail image cache so that cover images load faster
|
||||||
@ -25,20 +23,6 @@ class CacheImages extends BaseCommand {
|
|||||||
protected $animeModel;
|
protected $animeModel;
|
||||||
protected $model;
|
protected $model;
|
||||||
|
|
||||||
/**
|
|
||||||
* Echo text in a box
|
|
||||||
*
|
|
||||||
* @param string $message
|
|
||||||
* @return void
|
|
||||||
*/
|
|
||||||
protected function echoBox($message)
|
|
||||||
{
|
|
||||||
echo "\n";
|
|
||||||
$box = new Box($this->getConsole(), $message);
|
|
||||||
$box->write();
|
|
||||||
echo "\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Convert manga images
|
* Convert manga images
|
||||||
*
|
*
|
||||||
|
37
src/Aviat/AnimeClient/Command/ClearCache.php
Normal file
37
src/Aviat/AnimeClient/Command/ClearCache.php
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* Hummingbird Anime Client
|
||||||
|
*
|
||||||
|
* An API client for Hummingbird to manage anime and manga watch lists
|
||||||
|
*
|
||||||
|
* @package HummingbirdAnimeClient
|
||||||
|
* @author Timothy J. Warren
|
||||||
|
* @copyright Copyright (c) 2015 - 2016
|
||||||
|
* @link https://github.com/timw4mail/HummingBirdAnimeClient
|
||||||
|
* @license MIT
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace Aviat\AnimeClient\Command;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Clears the API Cache
|
||||||
|
*/
|
||||||
|
class ClearCache extends BaseCommand {
|
||||||
|
/**
|
||||||
|
* Run the image conversion script
|
||||||
|
*
|
||||||
|
* @param array $args
|
||||||
|
* @param array $options
|
||||||
|
* @return void
|
||||||
|
* @throws \ConsoleKit\ConsoleException
|
||||||
|
*/
|
||||||
|
public function execute(array $args, array $options = array())
|
||||||
|
{
|
||||||
|
$this->setContainer($this->setupContainer());
|
||||||
|
$cache = $this->container->get('cache');
|
||||||
|
$cache->purge();
|
||||||
|
|
||||||
|
$this->echoBox('API Cache has been cleared.');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// End of ClearCache.php
|
19
tests/AnimeClient/Command/BaseCommandTest.php
Normal file
19
tests/AnimeClient/Command/BaseCommandTest.php
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use ConsoleKit\Console;
|
||||||
|
use Aviat\Ion\Friend;
|
||||||
|
use Aviat\AnimeClient\Command\BaseCommand;
|
||||||
|
|
||||||
|
class BaseCommandTest extends AnimeClient_TestCase {
|
||||||
|
public function setUp()
|
||||||
|
{
|
||||||
|
$this->base = new BaseCommand(new Console());
|
||||||
|
$this->friend = new Friend($this->base);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testSetupContainer()
|
||||||
|
{
|
||||||
|
$container = $this->friend->setupContainer();
|
||||||
|
$this->assertInstanceOf('Aviat\Ion\Di\Container', $container);
|
||||||
|
}
|
||||||
|
}
|
36
tests/Ion/Cache/Driver/RedisDriver2Test.php
Normal file
36
tests/Ion/Cache/Driver/RedisDriver2Test.php
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
require_once('CacheDriverBase.php');
|
||||||
|
|
||||||
|
use Aviat\AnimeClient\Config;
|
||||||
|
use Aviat\Ion\Di\Container;
|
||||||
|
use Aviat\Ion\Cache\Driver\RedisDriver;
|
||||||
|
|
||||||
|
class CacheRedisDriverTestTwo extends AnimeClient_TestCase {
|
||||||
|
use CacheDriverBase;
|
||||||
|
|
||||||
|
protected $driver;
|
||||||
|
|
||||||
|
public function setUp()
|
||||||
|
{
|
||||||
|
parent::setUp();
|
||||||
|
|
||||||
|
// Setup config with port and password
|
||||||
|
$container = new Container();
|
||||||
|
$container->set('config', new Config([
|
||||||
|
'redis' => [
|
||||||
|
'host' => 'localhost',
|
||||||
|
'port' => 6379,
|
||||||
|
'password' => '',
|
||||||
|
'database' => 13,
|
||||||
|
]
|
||||||
|
]));
|
||||||
|
$this->driver = new RedisDriver($container);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function tearDown()
|
||||||
|
{
|
||||||
|
parent::tearDown();
|
||||||
|
$this->driver->__destruct();
|
||||||
|
}
|
||||||
|
}
|
@ -2,7 +2,6 @@
|
|||||||
|
|
||||||
require_once('CacheDriverBase.php');
|
require_once('CacheDriverBase.php');
|
||||||
|
|
||||||
use Aviat\Ion\Friend;
|
|
||||||
use Aviat\Ion\Cache\Driver\RedisDriver;
|
use Aviat\Ion\Cache\Driver\RedisDriver;
|
||||||
|
|
||||||
class CacheRedisDriverTest extends AnimeClient_TestCase {
|
class CacheRedisDriverTest extends AnimeClient_TestCase {
|
||||||
@ -15,4 +14,10 @@ class CacheRedisDriverTest extends AnimeClient_TestCase {
|
|||||||
parent::setUp();
|
parent::setUp();
|
||||||
$this->driver = new RedisDriver($this->container);
|
$this->driver = new RedisDriver($this->container);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function tearDown()
|
||||||
|
{
|
||||||
|
parent::tearDown();
|
||||||
|
$this->driver->__destruct();
|
||||||
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user