TagMergeMode

class TagMergeMode

The different tag merging modes are basically replace, overwrite and append, but they can be seen from two directions. Given two taglists: (A) the tags already in the element and (B) the ones that are supplied to the element ( e.g. via merge_tags() / add_tags() or a TAG), how are these tags merged? In the table below this is shown for the cases that a tag exists in the list (A) or does not exists (!A) and combinations thereof.

merge mode

A + B

A + !B

!A + B

!A + !B

REPLACE_ALL

B

ø

B

ø

REPLACE

B

A

B

ø

APPEND

A, B

A

B

ø

PREPEND

B, A

A

B

ø

KEEP

A

A

B

ø

KEEP_ALL

A

A

ø

ø

Fields

class TagMergeMode
APPEND

Append tags

COUNT

The number of merge modes

KEEP

Keep existing tags

KEEP_ALL

Keep all existing tags

PREPEND

Prepend tags

REPLACE

Replace tags

REPLACE_ALL

Replace all tags (clear list and append)

UNDEFINED

Undefined merge mode