Skip to content

Lucavale/bug in the merge cell method 1511196045000

Bitbucket Importer requested to merge bitbucket/declined-pr-207 into branch/default

Created originally on Bitbucket by lucavale (Luca Valentino)

Changesets for this Pull Request have not been imported, because it had been already declined on Bitbucket. Marked as closed by the import user.

  • Add 2.5 branch and remove 2.6 compatibility code.

  • Remove deprecated methods.

  • Remove more legacy.

  • Open file as binary to avoid encoding problems.

  • Remove some deprecated methods and code.

  • Fix test because required import was removed.

  • Fix failing tests.

  • Remove Python 2.6 compatibility code.

  • Backout changeset 2df5356d3363

  • Update comment, not just Python 2.6 compatible.

  • Switch to using XPath to search for tags.

  • Always need root element.

  • Correct code for checking whether content type has been added. Reenable skipped test.

  • Correct mime type.

  • Adjust path and file name to match other conventions.

  • Adjust tests for new comments paths.

  • Remove API for deprecated module.

  • Remove API for deprecated module.

  • Preserve workbook calculation properties.

  • Run tests quietly and don't bother generating coverage info.

  • Add a test for sheet names containing commas.

  • Quote worksheet names that contain commas.

  • Rely on the regex to split multiple definitions. Resolves #759 (closed)

  • Update docs.

  • Initial import of Laurent's code. Slightly modified: let's focus initially on the cells.

  • Fix failure

  • Remove additional and never documented options. The anchor itself can be passed in when adding to a worksheet. Bounding box function kept in case anyone wants to use it.

  • Move anchor creation to a separate function so that it can also be used for images.

  • Adjust code for handling anchors.

  • Remove unused code: Drawings no longer embedded, anchors must be provided.

  • Images are sized in pixels.

  • Correct size and width Default to putting images on A1

  • If a PIL image is passed in without a format then default to PNG

  • Add tests for creating anchors for images and charts.

  • Add naive tests for adding charts and images.

  • Check we have an anchor.

  • Mark test as requiring PIL

  • Markers aren't callable.

  • Add an option for working with iso dates and times. Removes all uncertainties and inconsistencies caused by Excel's serial format.

  • Break tests down to methods.

  • Do not convert to serial on binding.

  • Introduce dedicated type for dates and times and convert to datetime when reading.

  • Make the function more generic.

  • Allow serialisation as an ISO datetime.

  • Assign to local variable which is used at the end of the code branch. Might want to refactor into sub-methods.

  • Parametrise tests

  • Expand docstring

  • Convert to a raw string and verbose for readability.

  • Add named groups to regex

  • Make regex more flexible to allow it to handle dates, times and datetimes.

  • Add test for regex matching.

  • Rename functions to refer to ISO standard.

  • Use to_ and from_ for functions to be more consistent with the rest of the package

  • Add handling for datetime cells.

  • Remove non-ascii § symbol for Python 2

  • Add note about ISO 8601 support Resolves #674 (closed)

  • Add heuristics to infer whether it is date, datetime or time (including timedelta / duration) when reading files. Also adjust regex to exclude colours only. Incidentally resolves #779 (closed)

  • Update docs.

  • Use some known unicode to avoid having to work out the code points for Chinese characters.

  • Initial implementation of positioned GradientFill stops

  • Broken: attempt to define Serializable Stop class

  • Also, upper bound for Stop.position

  • use Sequence instead of ValueSequence

  • Also add documentation

  • Remove debug code

  • Move tuple -> Stop conversion to StopSequenceDescriptor

  • Move Stop.position automatic filling to method of GradientFill

    Tests not yet updated

  • GradientFill must now be provided a list of Stops

  • Position is always required

  • Remove unused method

  • Parametrised tests for position validation

  • GradientFill.stop now accepts a list of colors

  • Update docs.

  • Let Serialisable handle parsing.

  • Simplify.

  • Refactor code to take the manipulation out of the set method.

  • Minor refactoring.

  • Refactor test.

  • Add check that total position <= 1

  • Correct check for total.

  • Adjust branch for sequences > 2 elements. Adjust test for max position.

  • Add test for total position.

  • Whitespace and append method for Stops.

  • Whitespace

  • Remove duplicate import.

  • Remove check for total position: could in theory be infinite.

  • Add check for duplicate positions.

  • Remove old 1.x keyword. Alias kept.

  • Correct docs.

  • Add a function for finding child elements by id or mime-type.

  • Start work on a descriptor that supports multiple objects.

  • Add a way for handling XSD sequences. Bit of a mess.

  • Remove some debug code.

  • Adjust definition of descriptors so that creation of elements and attrs by the metaclass sets the MultiSequence as an Element and the MultiSequenceParts behave as Aliases so that they are not serialised.

  • Initial generation.

  • Remove duplicates

  • Add some test data.

  • Remove more duplicates and use NestedIntegers

  • Reinstate definition of Tuples

  • Rename class.

  • Add some initial tests.

  • Rename collections and fix up various import failures.

  • More refactoring to put share objects in a single module.

  • Correct field definitions and fix tests.

  • Set defaults and fix tests.

  • Rename class.

  • Add default values and tests for FieldItems

  • Rename class

  • Add default values and tests for RowItem

  • Add count properties.

  • Add default values and tests for DataField

  • Add properties for count

  • Default values for PivotTableDefinition and initial test.

  • Initial integration test. Fix up definitions of Lists.

  • Add schema validation.

  • Whitespace

  • Use NestedSequence to simplify definition.

  • Use NestedSequences where possible. Rename RowItem because it can also be used by columns.

  • Uncomment line.

  • Remove unused class.

  • Add test configuration file.

  • Add tests for PivotTableStyle

  • Adjust to assuming attributes are optional by default. Extract default values where possible.

  • Switch to using dicts for elements.

  • Put element definitions at the top to reflect the ordering in the schema.

  • Start parametrising the various parts of the class definition.

  • Parametrise the descriptors with element definitions first.

  • Identify sequences based on maxOccurs attribute.

  • Correct definition for CacheField

  • Escape keyword attributes

  • Add mapping for HexBinary

  • Update object definitions

  • Add preliminary tests for record values. Rename module

  • Correct import path

  • Attributes are optional

  • Correct test.

  • Initial tests for Booleans

  • Fix tests for Missing

  • Fix tests for Number

  • Fix tests for Text (CT_String)

  • Add tests for Index and initial implementationf for Records with child elements.

  • Rename class

  • Update test for Record

  • Cleanup definition.

  • Add property for count and ignore derived attributes.

  • Correct constructor and count property.

  • Initial test for shared items.

  • Add initial test for reading a cache definition.

  • Add tests for WorksheetSource

  • Add tests for CacheSource

  • Whitespace

  • Ignore extension

  • Use NestedSequence and remove redundant class.

  • Add serialisation test.

  • Replace aggregates with NestedSequences.

  • Replace list with NestedSequence.

  • Add property for count.

  • Replace aggregates with NestedSequences.

  • Add mime_type definitions.

  • Rename class and add initial test.

  • Initial test for reading pivot tables.

  • Add path constants for pivot tables and cache definitions.

  • Add method for finding all instances of a particular content type.

  • Only need the pivottable

  • Start instantiating table and dependents.

  • Get cache for table.

  • Get cache records.

  • Create a more generic function for getting related child objects.

  • Add method for writing to archive.

  • Add method for writing to archive.

  • Add method writing to archive.

  • Add methods for writing child elements.

  • Refactor to work with the path of a pivot table.

  • Add relation type.

  • Initial implementation of reading pivot tables.

  • Tidy up implementation, unit tests still required.

  • Initial support for writing pivots.

  • Write PivotCache to Workbook.

  • Correct paths for relationships.

  • Add relation.

  • Add record to manifest.

  • Always use absolute paths for relationship Targets.

  • Set relation.

  • Refresh onload

  • Recreate definitions

  • Correct default value for showHeaders

  • Correct assertion error value

  • Revert refreshOnLoad default.

  • Rename test class.

  • Add tests PageField

  • Correct sequence definition.

  • Add tests for ChartFormat, PivotArea and Reference.

  • Use NestedSequence

  • Use NestedSequence and add tagname

  • Add tagnames and count properties.

  • Reset temporary list.

  • Refactor to use NestedSequence for PivotCache

  • Correct assignment for NestedSequence.

  • PivotCaches can be shared by different tables so need to avoid duplication.

  • Set some default bools to None.

  • Set some default bools to None.

  • Remove debug code.

  • Avoid duplicate records of PivotCaches.

  • Excel seems to need the attributes. Should add relevant properties at some point.

  • Correct attribute definition.

  • Correct definition.

  • Correct definition of RangeProperties.

  • Correct definition.

  • Add handling for datetimes.

  • Add test for DateTimeField

  • BackgroundQuery is optional.

  • Rename class.

  • Rename class.

  • Rename module

  • Move data types into separate module.

  • Move field tests into separate module.

  • Remove old code.

  • Move project function to library.

  • Start switching to MultiSequence

  • Switch to using MultiSequence to preserve order of items.

  • Add copyright notice.

  • Update import.

  • Move test module to correct package.

  • Redefine class to allow for optional Booleans to be None. Simplifies comparison of files.

  • Redefine class to allow for optional Booleans to be None.

  • Move PivotCache object to parser module.

  • As PivotCaches are shared by PivotTables, move the reading of them to the WorkbookParser.

  • Add test for reading pivot caches.

  • Bump version

  • Pivots now read directly when worksheets are.

  • Remove broken import.

  • Expose plotVisOnly to charts as visible_cells_only. Should probably have an alias Resolves # 828

  • Update docs.

  • Fix test failing on Python 2 when comparing a set of integers.

  • Test requires lxml

  • Exclude pivot tests from documentation.

  • Update docs. Resolves #295 (closed)

  • Correct newline

  • Added tag 2.5.0-a1 for changeset a610430a415a

  • Prep 2.5.0-a1

  • Allow chartsheets to be accessed by title. Resolves #833 (closed)

  • Update docs

  • Allow workbook views to be set. Resolves #834 (closed)

  • Update docs.

  • Update docs.

  • Make sure the regex is case insensitive. Resolves #841 (closed)

  • Update docs.

  • Test for finding chart.

  • Initial implementation for finding charts.

  • Add property for listing charts contained in a drawing.

  • Delegate extraction to SpreadsheetDrawing.

  • Adjust implementation to rely on being passed in a chartspace object.

  • Add rel_type to class

  • Make test a bit more intelligent.

  • Read existing charts.

  • Correct definition of Title class: txPr should be RichText and not RichTextProperties.

  • Start treating charts as lists of charts

  • Add SchemeColor

  • Move helper function to descriptors module.

  • Updated XML to accout for explicit_none for TickMarks

  • Reorder elements to match schema

  • Add namespace declaration.

  • Do not set a default MajorUnit.

  • Namespaces are inherited for nested objects.

  • Charts can be series.

  • Adjust order of elements to make comparisons easier.

  • Start moving to using MultiSequence for handling charts.

  • Move PlotArea to separate module.

  • Sequence must be a list.

  • Initial test to show creation of multiple charts is possible.

  • Add some tests for handling multiple charts and areas.

  • Switch to MultiSequence for chart axes.

  • Need to accept namespace parameter.

  • Move handling of axes to Plotarea

  • Adapt property to allow axis lookup by axId when reading existing charts.

  • Use an OrderedDict to hold the references and add meaningful unit test for a specific chart type with axes.

  • Rely on descriptor for axIds

  • Allow PlotArea to assign AxIds

  • Adjust failing test.

  • Let the plot area serialise itsef.

  • Let the plot area manage the axes. Still need to special case scatter charts.

  • Use a ValueSequence to simplify working with axIds

  • Delegate getting the axes info to the chart object.

  • Update and correct class definitions.

  • Add another possible style name. These can be free text so this could get tricky.

  • Add a descriptor numbers that can also be strings. Let's hope this is restricted to N/A

  • In Pareto charts the y-axis of the second chart generally has not gridlines because they may not match those of the first chart.

  • Allow namespace to be passed in.

  • Enforce namespace

  • Add SolidFill object in case required.

  • Excel is fussy about the order of elements.

  • Add namespaces to tests.

  • TextRuns must have a text child element.

  • Make sure the chartspace includes the namespace.

  • Namespacing is handled by the chartspace

  • Set majorGridlines back to defaulting when creating a chart but strip them if they're missing when parsing an axis.

  • Adjust failing test to handle reordered axes.

  • Adjust failing test to handle reordered axes.

  • Update tests to show that axIds are preserved.

  • Pass axIds through.

  • Adjust tests to reflect use of MultiSequence.

  • Update tests to show that axIds are preserved.

  • Update tests to show that axIds are preserved.

  • Correct name of test class.

  • assume a date axis is a category axis.

  • Update tests to show that axIds are preserved.

  • Update tests to show that axIds are preserved.

  • Update tests to show that axIds are preserved.

  • Adjust tests to match changes in implementation.

  • Close branch 2.5

  • Update docs.

  • Bump version.

  • Add sample file.

  • Make sure test works with Python 2.7

  • Correct typo: passing in a dict of parameters. Resolves #848 (closed)

  • Update docs.

  • When using an object as a key eq and hash have to be implemented. Add tests Resolves #849 (closed)

  • Percentages can be more than 100 Spec A.6 says "-?[0-9]+(.[0-9]+)?%"

  • Correct spelling

  • Add missing attribute definitions.

  • Import percentage descriptor. Needs work on it for handling strings/numbers correctly once I can found out how it's supposed to work. :-/

  • Values can be zero.

  • Pivot caches can have sources other than worksheets. Resolves #857 (closed)

  • Remove the extension list from the list of elements.

  • Remove the extension list from the list of elements.

  • Update docs.

  • Reorder elements as it seems to affect whether or not they're applied. See #847 (closed) for examples.

  • Move worksheet code to worksheet module.

  • Refactor code to prevent import errors. Move save_dump to writer.excel and make the test actually check for something. Remove some unused imports.

  • Refactor cell range to allow a string to passed in directly. Use utils code for parsing ranges.

  • Add tests for repr and str but simplify code.

  • Add support for equality tests.

  • Handle range strings with or without sheetnames.

  • Add tests for shifting range

  • Adjust implementation for iadd though the semantics seem wrong as this shifts rather than expands the range.

  • Initial test for union.

  • Add tests for expanding and shrinking the range as well as getting its size.

  • Size now returns a dictionary for clarity.

  • Remove collapse method as it adds complexity with no real benefit. The bounds of the range are available. If desired properties for the four vertices could be added to make collapsing a two-liner.

  • Add test for an intersection of ranges.

  • Fix representation if no title is present. Implement test for disjoint and simplify implementation.

  • Remove edge properties.

  • Add tests for subset and superset

  • Simplify implementation of superset: if A is a superset of B then B is a subset of A.

  • Rely on safe_repr for handling non-ascii in titles: worksheet titles are unicode so str(coord) is incorrect use in Python 2.

  • contains should be not be equal to ge. It should be possible to check for a single coord.

  • Create utility method for comparing objects and add tests.

  • Fix path in doctest.

  • Prepare 2.5a3

  • Added tag 2.5.0-a3 for changeset bac1d2b4ce3a

  • Change metadata for b1

  • Add source clear to pipelines.

  • Correct whitespace.

  • Add step for sourceclear

  • Back out support for sourceclear

  • Working NumRef using complex format

  • Whitespace and use fixture for object under test.

  • Update docs. Resolves #876 (closed) thanks to pull request 190

  • Add special case for reading scatterchart axes as these are always Numeric

  • Only prefix tag with namespace when creating elements directly, allow serialisable objects to handle namespaces themselves.

  • Paragraphs can have multiple text runs. Add naive test for reading.

  • Prevent axes being added repeatedly when saving a file with charts multiple times.

  • Update title_maker to reflect the fact that Paragraphs can have multiple text runs (to support granular formatting)

  • Allow values to be None. Resolves #885 (closed) but really seems to be a wart in LibreOffice.

  • Update docs.

  • Add test for reading scaling

  • Update test to reflect change in richtext.

  • Correct definition for PivotSource.fmtId. Resolves #895 (closed)

  • Update docs.

  • Do not overwrite Scaling if passed in. Correct test for DateAx. Resolves #894 (closed)

  • Update docs.

  • Correct escaping for #876 (closed). ° gets escaped in XML so the backslash needs encoding.

  • Correct syntax of pipelines config: validator says this is now okay.

  • Add a test for handling a list of fills and explicitly pass in the GradientFill class to the Serialisable class method. Resolves #903 (closed)

  • Update docs.

  • Remove some convenience methods.

  • Update doc string.

  • Use descriptors to ensure vertices are positive integers.

  • Add cache to pipelines config.

  • Add a container for multiple cell ranges and some more tests.

  • Allow MultiCellRanges to be constructed from a string. Adjust tests and correct issuperset and contains for CellRanges

  • Closed branch chrisnic/unknown-formulae-must-be-prefixed-with-_-1507212907726

  • Add copyright.

  • Switch to using MultiCellRange for validators

  • Initialise validations with an empty list.

  • Add equivalence tests.

  • Fix tests due to changes in the implementation.

  • Add doc string.

  • Allow comparison with a string for convenience.

  • Add a test for membership

  • Update docs. Resolves #860 (closed)

  • Update docs.

  • Update docs for validators.

  • Add check as whether a cell is already in the range.

  • Add an alias for "ranges" to preserve the existing API.

  • Fix for Python 2.7

  • Do not serialise empty validators. Resolves #837 (closed)

  • Update docs Resolves #827 (closed)

  • Add boolean method and make the repr make it clear that this is an object.

  • Add class name to CellRange repr but don't cascade this in MultiCellRanges.

  • Switch conditonal formatting to using MultiCellRange

  • Add check for membership. Explicitly resolves #812 (closed)

  • Update docs.

  • Bump lxml versions for 2.5 Resolves # 725

  • Update URLs

  • Hot fix for failing tests. Can't apply conditional formats to whole columns. Might add logic to CellRange to unpack column and row references to include the relevant max_row and max_column values for convenience.

  • Add method for removing ranges.

  • Switch to using MultiCellRange for merged cells.

  • Add a deprecation notice to ws.merged_cell_ranges

  • ws.merged_cells doesn't need to be private.

  • Make MultiCellRanges iterable.

  • Adjust writer code to use MultiCellRange

  • Actually test for something.

  • Fix failing doctest

  • Add deprecation notice.

  • Fix failing tests.

  • Remove deprecated coordinate parameter from worksheet.cell() method.

  • Make row and column mandatory arguments.

  • Remove unused exception.

  • Update docs.

  • Remove quoted and special definitions before checking for a datetime format. Resolves #904 (closed)

  • Update docs.

  • Bump version

  • Prepare release.

  • Bug in the merge_cell method

Merge request reports