Commit graph

36 commits

Author SHA1 Message Date
Aaron Schulz
e88b95b76a Removed unused (after I9a19862f1a720c5a464bd37f79b58a505c5961f9) var $backend.
Change-Id: Ifd093d426eb8a39b1ff6ca1084cdb232f7e536eb
2012-04-17 01:07:01 -07:00
Aaron
ffb1b38ad8 [FileRepo] Split out store/purge functions for thumbnails and made them skip file journals.
* Added quickImport()/quickPurge() functions to store and delete files as fast as possible.
* Also added a cleanDir() function to avoid having File directly use FileBackend functions.

Change-Id: I9a19862f1a720c5a464bd37f79b58a505c5961f9
2012-04-16 16:52:15 -07:00
Aaron Schulz
5d585a423f [FileRepo] Added some cache code based on the problems in r97512.
* Made RepoGroup avoid caching files with large metadata and also reduced max cache size to 500 to avoid OOMs.
* Factored out a pingCache() function in RepoGroup.

Change-Id: I52f6413b9eb8b11fbffbde0f0e7acf97c7a2ff89
2012-04-06 12:39:58 -07:00
Aaron Schulz
c8e1463cc0 [FileRepo] Various code cleanups.
* Made File::isHashed() wrap FileRepo::getHashLevels(). Removed now-used FileRepo::isHashed().
* Removed FileRepo::simpleClean(). Not useful anymore since the paths in Status errors don't have $IP or upload dirs anymore.
* Removed code in FileRepo::fileExistsBatch() and FileRepo::cleanupBatch() to handle FS file paths, which should never be passed in anymore. Likewise, removed FILES_ONLY parameter.
* Removed FileRepo::append()/appendFinish() stub functions.
* Added FileRepo::assertWritableRepo() function to better handle repos that are read-only by design rather than the hack of overwriting each function (several were missed).
* Added FileBackend::isPathTraversalFree() function and used it in FileRepo::validateFilename() to avoid duplication.
* Tweaked FileRepo::freeTemp() to avoid file locking and made FileRepo::cleanupBatch() return a Status.
* Moved FileRepo::cleanupDeletedBatch() near FileRepo::deleteBatch().
* Added type hinting to a few places.
* Tweaked some misleading doc comments and added function visibility markers.

Change 1:
* Simplified NullRepo to also use assertWritableRepo(). It is currently only used by a single unit test.

Change-Id: I1cd0f4971011772e38e5156f94ffc50325372f28
2012-04-05 12:48:47 -07:00
Roan Kattouw
0fca9a7991 Revert r107309, r113601, r113704, r113742, r113792, r113838, r113859, r113893, r113894, r113952, r114047, r114252, r114256, r114257. This reverts the remaining 'new' revisions in core.
All of these revisions are tagged with 'gerritmigration' and will be resubmitted into Gerrit after the Gerrit switchover. See also http://lists.wikimedia.org/pipermail/wikitech-l/2012-March/059124.html
2012-03-21 00:16:50 +00:00
Aaron Schulz
20cba799d7 [FileRepo] Tweaked transformErrorOutput() to allow more useful error output (like backend errors) for problems moving thumbnails into storage. 2012-03-15 20:37:58 +00:00
Sam Reed
c052fc3b7b Documentation followups from lastnight 2012-02-10 15:37:33 +00:00
Sam Reed
76246b9bf5 More return documentation 2012-02-09 21:33:27 +00:00
Sam Reed
7b25f8231f Fixing some of the "@return true" or "@return false", need to be "@return bool" and then the metadata can say true if foo, false if bar
Other documentation improvements
2012-02-09 19:30:01 +00:00
Sam Reed
e1d83d5721 Fixing some of the "@return true" or "@return false", need to be "@return bool" and then the metadata can say true if foo, false if bar
Other documentation improvements
2012-02-09 18:01:54 +00:00
Sam Reed
138ddc452f Fixing some of the "@return true" or "@return false", need to be "@return bool" and then the metadata can say true if foo, false if bar
Other documentation improvements
2012-02-09 17:42:35 +00:00
Antoine Musso
394c8b5234 enhance filerepo doc structure 2012-02-08 15:51:16 +00:00
Aaron Schulz
5039373136 Reverted r96516, manually, per CR. Moved maybeDoTransform() code back into transform(). 2012-02-03 06:16:37 +00:00
Aaron Schulz
d0fc7d5d89 Renamed 'overwriteDest' FileBackend operation parameter to just 'overwrite', which is shorter and more consistent with 'overwriteSame' 2012-01-19 02:24:49 +00:00
Aaron Schulz
5a6559d8b1 Reverted r108743 per CR comment. This should at least be discussed first. 2012-01-12 19:41:18 +00:00
Sam Reed
a5c200a25b Kill "* @return void" 2012-01-12 19:12:24 +00:00
Aaron Schulz
021c953e33 Removed debug code from r108472 2012-01-09 21:22:54 +00:00
Aaron Schulz
aab6fd63f4 Fix r108185: file transform store op needs 'overwriteDest' 2012-01-09 21:21:40 +00:00
Aaron Schulz
230c2ccab7 * Fixed FileOp::attemptBatch() bug that had status->ok set wrong if 'force' option was used.
* Added missing prepare() call to File::maybeDoTransform().
* Improved documentation.
2012-01-09 21:04:48 +00:00
Aaron Schulz
360e3376bf In FileBackend:
* Added getFileSize()/getFileStat() functions. Refactored some functions to use the stat function for better reuse and caching/consistency.
* Refactored streamFile() to allow for subclasses to avoid local file copying with less duplication. Also make last-modified check actually work since we always get the timestamp of the original file.
* Renamed 'ignoreErrors' parameter to 'force'.
In FileBackendMultiWrite:
* Simplified how read ops are done (use 'master' backend for consistency).
* Added consistency check to doOperationsInternal() to check if the files are synced.
* Various fixes after testing.
In StreamFile:
* Split out prepareForStream() function from stream() in StreamFile for code reuse.
In FileBackendTest:
* Properly cover FileBackendMultiWrite in tests.
* Various test improvements.
2012-01-08 08:40:00 +00:00
Aaron Schulz
e4acd105f9 Partially reverted r108111: we can't assume subclasses put thumbnails in the...thumbnails zone. They might override the thumbnail path functions. 2012-01-05 23:35:38 +00:00
Aaron Schulz
5fdac785a3 In SpecialUploadStash:
* Updated outputLocallyScaledThumb() and outputLocalFile() to handle changes in r106752.
In MediaTransformOutput:
* Added a storage path field to the transformation output object and set it in  File::maybeDoTransform().
In File:
* Fixed maybeDoTransform() handling if repo member is not set and made it fully respect $wgIgnoreImageErrors.
In BitmapHandler:
* Don't set bogus path if TRANSFORM_LATER in doTransform() for deffered renderings.
2012-01-05 01:58:05 +00:00
Aaron Schulz
08b017f185 * Follow-up r107447: removed dead code
* Broke some long lines
2011-12-27 22:49:37 +00:00
Mark A. Hershberger
9bcfa36439 re Aaron's comment on r107351: remove double extension from temporary file 2011-12-27 22:39:10 +00:00
Mark A. Hershberger
d93ece3527 * First simple XCF thumbnailing. Convert from ImageMagick has buggy
support for XCF, though, so one of the solutions at
  http://stackoverflow.com/questions/5794640/how-to-convert-xcf-to-png-using-gimp-from-the-command-line
  is probably better.

* File::maybeDoTransform() since (at least) r106752 neglects what
  BitmapHandler::getThumbType() returns, so add support for that.

* Add $wgImageMagickIdentifyCommand to avoid writing a parser for XCF
  metadata.
2011-12-27 00:46:44 +00:00
Mark A. Hershberger
e6e0baefe4 w/s 2011-12-27 00:28:23 +00:00
Aaron Schulz
875f8a28e9 In FileBackendBase/FileBackend:
* Changed concatenate to store to a specified temp FS file rather than a final storage destination. This makes it better fit the use case (chunked upload), so we can avoid extra copying around. Subclasses no longer have to implement this function now as well.
* Added extensionFromPath() helper function.
* Moved createInternal() up a bit and fixed @see comments pointing to the wrong functions.
In FSFileBackend:
* Use parent implementation of doConcatenateInternal().
In FileRepo/File:
* Added FileRepo::ALLOW_STALE and made thumbnail transforms use it.
2011-12-23 18:59:39 +00:00
Aaron Schulz
29a6b9e713 * FU r106752: unbreak urls to ForeignAPIRepo file thumbnails. FileRepo no longer uses bogus <public root URL>/thumb default for the thumnail URL when the public root URL wasn't even set. This was making ForeignAPIRepo not set it since it saw that it was already set.
* Cleaned up and added some missing sanity checks for scriptDirUrl member in FileRepo. Made some related documentation tweaks.
* Removed pointless getRepo() call in File.
2011-12-21 21:29:16 +00:00
Aaron Schulz
b5a7c0e957 * Added FileRepo::SKIP_LOCKING constant and made storeBatch() check it.
* Made File::maybeDoTransform() use the FileRepo::store() and a new File::getThumbRel() function. Looks cleaner and loosens FileBackend coupling.
* Also made storeTemp() use FileRepo::SKIP_LOCKING for performance.
* Killed some useless initZones() calls in FileRepo. Extensions may not even use these zones. Likewise, it could make tests fail even though they don't those zones. We already do the sanity with some prepare() calls in storeBatch().
* Removed FileRepo::SKIP_VALIDATION, not used by anything now.
* Moved getUrlRel() down a bit.
2011-12-21 20:39:50 +00:00
Aaron Schulz
9e61d94e0e FU r106770: fixed the other getTransform() call 2011-12-20 20:15:05 +00:00
Aaron Schulz
14863b9aa5 Cleaned up some references to FSRepo in code and comments. This should have no noticeable functional changes. 2011-12-20 19:25:23 +00:00
Aaron Schulz
967c0cbe7f FU r106752: unbreak "other sizes" links on File: pages by working around the suck /media system. 2011-12-20 08:38:55 +00:00
Brian Wolff
34791773f8 follow-up r98710/r104410. I personally think that forRefresh is confusing, since a purge is always in essence a "refresh"ing operation. change it to forThumbRefresh. 2011-12-20 06:48:05 +00:00
Aaron Schulz
5275f9b097 Merged FileBackend branch. Manually avoiding merging the many prop-only changes SVN likes to sprinkle in (easy to spot from the change list). Did not add SwiftFileBackend.php as it still is in development. 2011-12-20 03:52:06 +00:00
Aaron Schulz
b9fe0b2fbf Restored r98710 but with a 'forRefresh' option (not used yet) 2011-11-28 08:53:03 +00:00
Aaron Schulz
ef75030835 Moved File classes to filerepo/file (as well as ArchivedFile) 2011-11-16 22:55:48 +00:00
Renamed from includes/filerepo/File.php (Browse further)