<commit_before># An example configuration for vdirsyncer.
# Optional parameters are commented out.

[general]
# A folder where vdirsyncer can store some metadata about each pair.
status_path = ~/.vdirsyncer/status/

# The amount of processes to use when synchronizing. If the CPU of your server
# is the bottleneck (which is plausible for small homeservers), set this to the
# number of cores * 2. Defaults to one process for each collection, which means
# all collections will be synced at once. The value 0 will be ignored, the
# value 1 disables multiprocessing.
#processes =

# CONTACTS
[pair bob_contacts]
# A `[pair <name>]` block defines two storages `a` and `b` that should be
# synchronized. The definition of these storages follows in `[storage <name>]`
# blocks. This is similar to accounts in OfflineIMAP.
a = bob_contacts_local
b = bob_contacts_remote

# collections are addressbooks, calendars etc to be synced. The comma-separated
# values in this parameter are representing subdirectories, are added as URL
# segment or similar.

# In this example, it means that
#   - https://owncloud.example.com/remote.php/carddav/addressbooks/bob/default/
#     will get synced with ~/.contacts/default/
#   - https://owncloud.example.com/remote.php/carddav/addressbooks/bob/work/
#     will get synced with ~/.contacts/work/

# Omitting this parameter implies that the given path and URL are already
# pointing to a collection each.
collections = default,work

# conflict_resolution = None  # abort when collisions occur (default)
# conflict_resolution = a wins  # assume a's items to be more up-to-date
# conflict_resolution = b wins  # assume b's items to be more up-to-date

[storage bob_contacts_local]
# A storage references actual data on a remote server or on the local disk.
# Similar to repositories in OfflineIMAP.
type = filesystem
path = ~/.contacts/
fileext = .vcf
#create = True  # create directory if it doesn't exist
#encoding = utf-8

[storage bob_contacts_remote]
type = carddav
url = https://owncloud.example.com/remote.php/carddav/addressbooks/bob/
#auth = basic  # basic|digest
#username =  # for http auth, if empty, no auth will be used
#password =  # can also be fetched from the system password storage or netrc

#true: The NSA can spy on you with some effort
#false: Everybody can spy on you with no effort
#path to SSL cert: People will call you paranoid
#verify = True

# CALDAV
[pair bob_calendar]
a = bob_calendar_local
b = bob_calendar_remote
collections = private,work

[storage bob_calendar_local]
type = filesystem
path = ~/.config/vdir/calendars/
fileext = .ics

[storage bob_calendar_remote]
type = caldav
url = https://owncloud.example.com/remote.php/caldav/calendars/bob/
#auth = basic
#username =
#password =
#verify = True

# Optional: Specify a time range which should be synchronized. Either both
# start_date and end_date or neither have to be set. The default is to
# synchronize everything.  The following example synchronizes from one year in
# the past to one year in the future.

# All Python expressions are allowed here. The global namespace contains
# everything from the datetime module. The expression has to evaluate to a
# datetime.
#start_date = datetime.now() - timedelta(days=365)

# Here, start_date is also in the namespace.
#end_date = datetime.now() + timedelta(days=365)

# HTTP CALENDAR
[pair holidays]
a = holidays_local
b = holidays_remote

[storage holidays_local]
type = filesystem
path = ~/.config/vdir/calendars/holidays/
fileext = .ics

[storage holidays_remote]
type = http
url = https://mozorg.cdn.mozilla.net/media/caldata/QueenslandHolidays.ics
#auth = basic
#username =
#password =
#verify = True
<commit_msg>Try to make the explanation of collections more obvious.<commit_after># An example configuration for vdirsyncer.
# Optional parameters are commented out.

[general]
# A folder where vdirsyncer can store some metadata about each pair.
status_path = ~/.vdirsyncer/status/

# The amount of processes to use when synchronizing. If the CPU of your server
# is the bottleneck (which is plausible for small homeservers), set this to the
# number of cores * 2. Defaults to one process for each collection, which means
# all collections will be synced at once. The value 0 will be ignored, the
# value 1 disables multiprocessing.
#processes =

# CONTACTS
[pair bob_contacts]
# A `[pair <name>]` block defines two storages `a` and `b` that should be
# synchronized. The definition of these storages follows in `[storage <name>]`
# blocks. This is similar to accounts in OfflineIMAP.
a = bob_contacts_local
b = bob_contacts_remote

# If you want to synchronize several addressbooks, calendars etc that share
# the same storage location and differ only in a suffix to this location
# (i.e., a subdirectory) you can use collections. The comma-separated values
# in this parameter represent these subdirectories and are added as URL
# segments or similar.

# Together with the definition of the following two `[storage]` blocks below
# in this example it means that
#   - https://owncloud.example.com/remote.php/carddav/addressbooks/bob/default/
#     will get synced with ~/.contacts/default/
#   - https://owncloud.example.com/remote.php/carddav/addressbooks/bob/work/
#     will get synced with ~/.contacts/work/

# Omitting this parameter implies that the given path and URL in the
# corresponding `[storage <name>]` blocks are already pointing to a
# collection each.
collections = default,work

# conflict_resolution = None  # abort when collisions occur (default)
# conflict_resolution = a wins  # assume a's items to be more up-to-date
# conflict_resolution = b wins  # assume b's items to be more up-to-date

[storage bob_contacts_local]
# A storage references actual data on a remote server or on the local disk.
# Similar to repositories in OfflineIMAP.
type = filesystem
path = ~/.contacts/
fileext = .vcf
#create = True  # create directory if it doesn't exist
#encoding = utf-8

[storage bob_contacts_remote]
type = carddav
url = https://owncloud.example.com/remote.php/carddav/addressbooks/bob/
#auth = basic  # basic|digest
#username =  # for http auth, if empty, no auth will be used
#password =  # can also be fetched from the system password storage or netrc

#true: The NSA can spy on you with some effort
#false: Everybody can spy on you with no effort
#path to SSL cert: People will call you paranoid
#verify = True

# CALDAV
[pair bob_calendar]
a = bob_calendar_local
b = bob_calendar_remote
collections = private,work

[storage bob_calendar_local]
type = filesystem
path = ~/.config/vdir/calendars/
fileext = .ics

[storage bob_calendar_remote]
type = caldav
url = https://owncloud.example.com/remote.php/caldav/calendars/bob/
#auth = basic
#username =
#password =
#verify = True

# Optional: Specify a time range which should be synchronized. Either both
# start_date and end_date or neither have to be set. The default is to
# synchronize everything.  The following example synchronizes from one year in
# the past to one year in the future.

# All Python expressions are allowed here. The global namespace contains
# everything from the datetime module. The expression has to evaluate to a
# datetime.
#start_date = datetime.now() - timedelta(days=365)

# Here, start_date is also in the namespace.
#end_date = datetime.now() + timedelta(days=365)

# HTTP CALENDAR
[pair holidays]
a = holidays_local
b = holidays_remote

[storage holidays_local]
type = filesystem
path = ~/.config/vdir/calendars/holidays/
fileext = .ics

[storage holidays_remote]
type = http
url = https://mozorg.cdn.mozilla.net/media/caldata/QueenslandHolidays.ics
#auth = basic
#username =
#password =
#verify = True

{'fraction_non_alphanumeric': 0.08220603537981269, 'fraction_numerical': 0.0026014568158168575, 'mean_word_length': 4.358188153310104, 'pattern_counts': {'":': 0, '<': 8, '<?xml version=': 0, '>': 8, 'https://': 10, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5057429', 'n_tokens_mistral': 2322, 'n_tokens_neox': 2224, 'n_words': 937}