Changeset 5444
- Timestamp:
- 04/30/2017 04:00:54 PM (9 years ago)
- Location:
- sites/trunk/wordpress.org/public_html/wp-content/plugins/plugin-directory/cli/i18n
- Files:
-
- 3 edited
-
class-code-import.php (modified) (8 diffs)
-
class-i18n-import.php (modified) (2 diffs)
-
class-readme-import.php (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
sites/trunk/wordpress.org/public_html/wp-content/plugins/plugin-directory/cli/i18n/class-code-import.php
r5198 r5444 2 2 namespace WordPressdotorg\Plugin_Directory\CLI\I18N; 3 3 4 use Exception; 4 5 use WordPressdotorg\Plugin_Directory\Readme\Parser; 6 use WordPressdotorg\Plugin_Directory\Tools\Filesystem; 5 7 use WordPressdotorg\Plugin_Directory\Tools\SVN; 6 use WordPressdotorg\Plugin_Directory\Tools\Filesystem;7 use Exception;8 8 use WP_Error; 9 9 … … 14 14 */ 15 15 class Code_Import extends I18n_Import { 16 const PLUGIN_SVN_BASE = 'https://plugins.svn.wordpress.org';17 18 /**19 * Slug of the plugin.20 *21 * @var string22 */23 private $plugin;24 25 /**26 * Constructor.27 *28 * @param string $plugin The plugin slug.29 */30 public function __construct( $plugin ) {31 $this->plugin = $plugin;32 }33 16 34 17 /** … … 40 23 */ 41 24 public function import_from_tag( $tag ) { 42 $ plugin_url = self::PLUGIN_SVN_BASE . "/{$this->plugin}/{$tag}";25 $svn_url = $this->get_plugin_svn_url( $tag ); 43 26 44 $files = SVN::ls( $ plugin_url );27 $files = SVN::ls( $svn_url ); 45 28 if ( ! $files ) { 46 29 throw new Exception( "Plugin has no files in {$tag}." ); … … 50 33 $export_directory = $tmp_directory . '/export'; 51 34 52 $res = SVN::export( $ plugin_url, $export_directory, [ 'ignore-externals' ] );35 $res = SVN::export( $svn_url, $export_directory, [ 'ignore-externals' ] ); 53 36 if ( ! $res['result'] ) { 54 37 throw new Exception( 'Plugin export failed.' ); … … 57 40 $valid = $this->is_plugin_valid( $export_directory ); 58 41 if ( is_wp_error( $valid ) ) { 59 throw new Exception( 'Plugin is not compatible with language packs .');42 throw new Exception( 'Plugin is not compatible with language packs: ' . $valid->get_error_message() ); 60 43 } 61 44 … … 67 50 $makepot = new \MakePOT; 68 51 69 if ( !$makepot->wp_plugin( $export_directory, $pot_file, $this->plugin ) || ! file_exists( $pot_file ) ) {52 if ( $makepot->wp_plugin( $export_directory, $pot_file, $this->plugin ) || ! file_exists( $pot_file ) ) { 70 53 throw new Exception( "POT file couldn't be created." ); 71 54 } … … 94 77 */ 95 78 private function is_plugin_valid( $export_directory ) { 96 $error = new WP_Error();97 79 $readme = new Parser( $this->find_readme_file( $export_directory ) ); 98 80 99 81 // Whether plugin files should be checked for valid text domains. 100 82 if ( empty( $readme->requires ) || version_compare( $readme->requires, '4.6', '<' ) ) { 83 $error = new WP_Error(); 101 84 $esc_export_directory = escapeshellarg( $export_directory ); 102 85 … … 122 105 return $error; 123 106 } 124 125 107 } 126 108 -
sites/trunk/wordpress.org/public_html/wp-content/plugins/plugin-directory/cli/i18n/class-i18n-import.php
r4223 r5444 1 1 <?php 2 2 namespace WordPressdotorg\Plugin_Directory\CLI\I18N; 3 4 use WordPressdotorg\Plugin_Directory\CLI\Import; 3 5 use WordPressdotorg\Plugin_Directory\Plugin_I18n; 4 6 use WordPressdotorg\Plugin_Directory\Tools\Filesystem; 5 7 use WP_Error; 6 7 8 8 9 /** … … 12 13 */ 13 14 abstract class I18n_Import { 15 16 /** 17 * Slug of the plugin. 18 * 19 * @var string 20 */ 21 protected $plugin; 22 23 /** 24 * Constructor. 25 * 26 * @param string $plugin The plugin slug. 27 */ 28 public function __construct( $plugin ) { 29 $this->plugin = $plugin; 30 } 31 32 /** 33 * Imports a specific tag to GlotPress. 34 * 35 * @param string $tag SVN tag of the import. 36 * 37 * @throws Exception 38 */ 39 abstract public function import_from_tag( $tag ); 40 41 /** 42 * Returns the SVN URL for a plugins tag. 43 * 44 * @param string $tag SVN tag or 'trunk'. 45 * @return string Plugins SVN URL. 46 */ 47 public function get_plugin_svn_url( $tag ) { 48 if ( 'trunk' === $tag ) { 49 return Import::PLUGIN_SVN_BASE . "/{$this->plugin}/trunk/"; 50 } else { 51 return Import::PLUGIN_SVN_BASE . "/{$this->plugin}/tags/{$tag}/"; 52 } 53 } 14 54 15 55 /** -
sites/trunk/wordpress.org/public_html/wp-content/plugins/plugin-directory/cli/i18n/class-readme-import.php
r5436 r5444 2 2 namespace WordPressdotorg\Plugin_Directory\CLI\I18N; 3 3 4 use Exception; 4 5 use PO; 5 6 use Translation_Entry; 6 use WordPressdotorg\Plugin_Directory\Tools\SVN;7 7 use WordPressdotorg\Plugin_Directory\Readme\Parser; 8 8 use WordPressdotorg\Plugin_Directory\Tools\Filesystem; 9 use Exception;9 use WordPressdotorg\Plugin_Directory\Tools\SVN; 10 10 11 11 /** … … 15 15 */ 16 16 class Readme_Import extends I18n_Import { 17 const PLUGIN_SVN_BASE = 'https://plugins.svn.wordpress.org';18 19 /**20 * Slug of the plugin.21 *22 * @var string23 */24 private $plugin;25 26 /**27 * Constructor.28 *29 * @param string $plugin The plugin slug.30 */31 public function __construct( $plugin ) {32 $this->plugin = $plugin;33 }34 17 35 18 /** … … 41 24 */ 42 25 public function import_from_tag( $tag ) { 43 if ( 'trunk' === $tag ) { 44 $svn_url = self::PLUGIN_SVN_BASE . "/{$this->plugin}/trunk/"; 45 } else { 46 $svn_url = self::PLUGIN_SVN_BASE . "/{$this->plugin}/tags/{$tag}/"; 47 } 26 $svn_url = $this->get_plugin_svn_url( $tag ); 48 27 49 28 $files = SVN::ls( $svn_url );
Note: See TracChangeset
for help on using the changeset viewer.