first import
This commit is contained in:
137
sites/all/modules/fontyourface/drush/fontyourface.drush.inc
Normal file
137
sites/all/modules/fontyourface/drush/fontyourface.drush.inc
Normal file
@@ -0,0 +1,137 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @file
|
||||
* Drush integration for @font-your-face.
|
||||
*/
|
||||
|
||||
/**
|
||||
* Implements hook_drush_help().
|
||||
*/
|
||||
function fontyourface_drush_help($section) {
|
||||
switch ($section) {
|
||||
case 'drush:fyf-status':
|
||||
$help = dt('Displays @font-your-face status');
|
||||
return $help;
|
||||
case 'drush:fyf-import':
|
||||
$help = dt('Imports @font-your-face fonts');
|
||||
return $help;
|
||||
case 'meta:fontyourface:title':
|
||||
$help = dt('@font-your-face commands');
|
||||
return $help;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Implements hook_drush_command().
|
||||
*/
|
||||
function fontyourface_drush_command() {
|
||||
$items = array();
|
||||
$items['fyf-status'] = array(
|
||||
'callback' => 'fontyourface_fyf_status',
|
||||
'drupal dependencies' => array('fontyourface'),
|
||||
'description' => 'Displays general @font-your-face status information',
|
||||
'bootstrap' => DRUSH_BOOTSTRAP_DRUPAL_FULL,
|
||||
'aliases' => array('@s', 'fyfs'),
|
||||
);
|
||||
$items['fyf-import'] = array(
|
||||
'callback' => 'fontyourface_fyf_import',
|
||||
'drupal dependencies' => array('fontyourface'),
|
||||
'description' => 'Imports fonts from one or more providers',
|
||||
'arguments' => array(
|
||||
'providers' => '(optional) A space delimited list of providers.',
|
||||
),
|
||||
'bootstrap' => DRUSH_BOOTSTRAP_DRUPAL_FULL,
|
||||
'aliases' => array('@i', 'fyfi'),
|
||||
'examples' => array(
|
||||
'drush @i' => 'Import fonts from all enabled providers.',
|
||||
'drush @i google_fonts_api fontdeck' => 'Import fonts from Google Fonts API and Fontdeck.',
|
||||
),
|
||||
);
|
||||
return $items;
|
||||
}
|
||||
|
||||
/**
|
||||
* Callback for Drush command 'fyf-status'.
|
||||
*/
|
||||
function fontyourface_fyf_status() {
|
||||
// Provider info.
|
||||
$modules = module_implements('fontyourface_info', TRUE);
|
||||
if (count($modules) > 0) {
|
||||
drush_print(dt('Providers enabled (@count):', array('@count' => count($modules))));
|
||||
$rows = array();
|
||||
$rows[] = array(
|
||||
dt('Provider'),
|
||||
dt('Total fonts'),
|
||||
dt('Enabled fonts'),
|
||||
);
|
||||
foreach ($modules as $module) {
|
||||
$row = array();
|
||||
$row[] = $module;
|
||||
$row[] = fontyourface_count_fonts($module);
|
||||
$row[] = fontyourface_count_fonts($module, TRUE);
|
||||
$rows[] = $row;
|
||||
}
|
||||
drush_print_table($rows, TRUE);
|
||||
}
|
||||
else {
|
||||
drush_print(dt('No font providers are enabled.'));
|
||||
// If there are no providers, we can call it quits as there will be no
|
||||
// fonts either.
|
||||
return;
|
||||
}
|
||||
// Font info.
|
||||
$fonts = fontyourface_get_fonts('enabled = 1');
|
||||
if (count($fonts) > 0) {
|
||||
drush_print(dt('Fonts enabled (@count):', array('@count' => count($fonts))));
|
||||
$rows = array();
|
||||
$rows[] = array(
|
||||
dt('Font'),
|
||||
dt('Provider'),
|
||||
dt('CSS selector'),
|
||||
);
|
||||
foreach ($fonts as $font) {
|
||||
$row = array();
|
||||
$row[] = $font->name;
|
||||
$row[] = $font->provider;
|
||||
$row[] = $font->css_selector;
|
||||
$rows[] = $row;
|
||||
}
|
||||
drush_print_table($rows, TRUE);
|
||||
}
|
||||
else {
|
||||
drush_print(dt('No fonts are enabled.'));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Callback for Drush command 'fyf-import'.
|
||||
*/
|
||||
function fontyourface_fyf_import() {
|
||||
$providers = _convert_csv_to_array(func_get_args());
|
||||
if (empty($providers)) {
|
||||
// If no providers were specified, get all existing import functions.
|
||||
$providers = module_implements('fontyourface_import');
|
||||
}
|
||||
foreach ($providers as $provider) {
|
||||
$import_function = $provider . '_fontyourface_import';
|
||||
if ($provider == 'fontsquirrel') {
|
||||
drush_set_error(dt("Font Squirrel import is not supported yet. We're working on that."));
|
||||
}
|
||||
elseif (!function_exists($import_function)) {
|
||||
drush_set_error(dt("Unknown provider '@provider', or there is no import function for it; run 'drush fyf-status' to see enabled providers", array('@provider' => $provider)));
|
||||
}
|
||||
else {
|
||||
$before = fontyourface_count_fonts($provider);
|
||||
if ($import_function()) {
|
||||
$message = dt('Imported fonts from @provider.', array('@provider' => $provider));
|
||||
drush_log($message, 'success');
|
||||
$after = fontyourface_count_fonts($provider);
|
||||
drush_print(dt('@provider now has @fonts fonts (+@diff).', array('@provider' => $provider, '@fonts' => $after, '@diff' => $after - $before)));
|
||||
}
|
||||
else {
|
||||
drush_set_error(dt('Font import from @provider failed.', array('@provider' => $provider)));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user