Skip to content
Florian edited this page Jul 24, 2024 · 17 revisions

Welcome to the Simple_Database wiki!

Collection of Classes and Functions

class: establish_db()

Parameters:
db_name: str

To initialize a Database you have to give it a name or, if a database already exists, provide a name.
🛑 Normally not used standalone, it inherits to the other classes! 🛑

Excample:

db = establish_db("expml") 

Functions

  • close()

Just use the "close" tag on the database clase to close this connection

Excample:

db = establish_db("expml")
#some code db.close() 

class: generate_db()

Parameters:
db_name: str

This class is used to build up a database. Fill it with tables or delete tables. It inherits from "establish_db" so it also needs the database name to generate a database or open a connection.

Excample:

db = generate_db("expml")

Functions

  • add_table()

Parameters:
tbl_name: str
col: dict

Return:
bool

Adding tables to your database by giving it a name and the column information. The dict for the column information ist structured like this:

"col_name": {
"primarykey": bool,
"autoincrement": bool,
"type": DATATYPEasSTRING,
"mandatory": bool,
"foreignkey": (
bool,
{
"table": REFERENCE_TABLENAMEasSTRING,
"column": REFERENCE_COLUMNNAMEasSTRING
}
)
},

Excample:

db = generate_db("expml")
db.add_table(
"Test", {
"ID": {
"primarykey": True,
"autoincrement": True,
"type": "INTEGER",
"mandatory": False,
"foreignkey": (
False,
{
"table": "",
"column": ""
}
)
},
"Title": {
"primarykey": False,
"autoincrement": False,
"type": "CHAR(20)",
"mandatory": True,
"foreignkey": (
False,
{
"table": "",
"column": ""
}
)
},
"Name": {
"primarykey": False,
"autoincrement": False,
"type": "TEXT",
"mandatory": True,
"foreignkey": (
False,
{
"table": "",
"column": ""
}
)
},
"Age": {
"primarykey": False,
"autoincrement": False,
"type": "INTEGER",
"mandatory": False,
"foreignkey": (
False,
{
"table": "",
"column": ""
}
)
}
}
)
db.close()
  • remove_table()

Parameters:
tbl_name: str

Return:
bool

This will remove a table of the database by its given name.

IMPORTANT: It will delete the table no matter what! Watch out if it has foreign relations

Will return true if deletion was successful

Excample:

db = generate_db("expml")
db.remove_table(tbl_name: str)
db.close()

class: operate_db()

Parameters:
db_name: str

This class is used to operate a database. You can add, del, get and search content in a database

Excample:

db = operate_db("expml")

Functions

  • add_content()

Parameters:
tbl_name: strcntnt: dict | list[dict]
with_foreign_key: bool | tuple -> defaults to false

You can add single lines of data or add a whole batch of data as a list. With the foreign key parameter you can give it a table and the key that should be added. It tests if the key exists in the destination table.

Excample 1 (Single Data):

# DB is already initialized and table "Users" is added
data1 = {'Name': 'John', 'Age': 30}
db.add_content('Users', data1)

Excample 2 (Batch Data):

# DB is already initialized and table "Users" is added
data2 = [{'Name': 'John', 'Age': 30},
{'Name': 'Sarah', 'Age': 27},
{'Name': 'Genji', 'Age': 35}]
db.add_content('Users', data1)

Excample 3 (Foreign key):

# DB is already initialized and table "Users" & "Department" are added.
# The Department ID 423 is also already added
data3 = {'Name': 'John', 'Age': 30}
db.add_content('Users', data1, ("Department" {"DID": 423}))
db.close()
  • update_content()

Parameters:
tbl_name: strsearch: dictcntnt: dict | dict

You can update datasets by searching for it and then fill the new information.

Excample 1:

# DB is already initialized and table "Users" is added.
# The database has a dataset with the id 456 and a current name of "bob"
tbl = "users"
dataset2update = {"id": 456}
data2update = {"name": "john"}
db.update_content(tbl, dataset2update, data2update)
# Now the dataset with the id 465 should have the name "john" and not "bob" anymore
  • del_content()

Parameters:
tbl_name: strsearch: dict

You can remove content with this function by searching for attributes. All datasets that will be found are going to be deleted.

IMPORTANT: There is no confirmation. If it finds something it deletes it.

Excample:

# DB is already initialized and table "Users" is added.
# The Dataset for the name "Bob" is added.
data2delete = {'name': 'Bob'}
db.del_content('Users', data2delete)
# Now all Data where the name was "Bob" has been deleted!
  • get_content()

Parameters:
tbl_name: str

Returns:
list

With this you get all the data from a specific table.

Excample:

# DB is already initialized and table "Users" is added.
# The Database is filled with data
data = db.get_content('Users')
print(data)
# Now all Data will be printed
  • search_table()

Parameters:
tbl_name: strsearch: dict

Returns:
list

You can search for specific datasets and all the found data will be returned as list

Excample:

# DB is already initialized and table "Users" is added.
# The Database is filled with data
data2search = {'name': 'Bob'}
found_data = db.search_content('Users', data2search)
print(found_data)
# Now all Datasets with the name "Bob" will be printed
, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Home · Xeferis/Simple_Database Wiki · GitHub
Skip to content
Florian edited this page Jul 24, 2024 · 17 revisions

Welcome to the Simple_Database wiki!

Collection of Classes and Functions

class: establish_db()

Parameters:
db_name: str

To initialize a Database you have to give it a name or, if a database already exists, provide a name.
🛑 Normally not used standalone, it inherits to the other classes! 🛑

Excample:

db = establish_db("expml") 

Functions

  • close()

Just use the "close" tag on the database clase to close this connection

Excample:

db = establish_db("expml")
#some code db.close() 

class: generate_db()

Parameters:
db_name: str

This class is used to build up a database. Fill it with tables or delete tables. It inherits from "establish_db" so it also needs the database name to generate a database or open a connection.

Excample:

db = generate_db("expml")

Functions

  • add_table()

Parameters:
tbl_name: str
col: dict

Return:
bool

Adding tables to your database by giving it a name and the column information. The dict for the column information ist structured like this:

"col_name": {
"primarykey": bool,
"autoincrement": bool,
"type": DATATYPEasSTRING,
"mandatory": bool,
"foreignkey": (
bool,
{
"table": REFERENCE_TABLENAMEasSTRING,
"column": REFERENCE_COLUMNNAMEasSTRING
}
)
},

Excample:

db = generate_db("expml")
db.add_table(
"Test", {
"ID": {
"primarykey": True,
"autoincrement": True,
"type": "INTEGER",
"mandatory": False,
"foreignkey": (
False,
{
"table": "",
"column": ""
}
)
},
"Title": {
"primarykey": False,
"autoincrement": False,
"type": "CHAR(20)",
"mandatory": True,
"foreignkey": (
False,
{
"table": "",
"column": ""
}
)
},
"Name": {
"primarykey": False,
"autoincrement": False,
"type": "TEXT",
"mandatory": True,
"foreignkey": (
False,
{
"table": "",
"column": ""
}
)
},
"Age": {
"primarykey": False,
"autoincrement": False,
"type": "INTEGER",
"mandatory": False,
"foreignkey": (
False,
{
"table": "",
"column": ""
}
)
}
}
)
db.close()
  • remove_table()

Parameters:
tbl_name: str

Return:
bool

This will remove a table of the database by its given name.

IMPORTANT: It will delete the table no matter what! Watch out if it has foreign relations

Will return true if deletion was successful

Excample:

db = generate_db("expml")
db.remove_table(tbl_name: str)
db.close()

class: operate_db()

Parameters:
db_name: str

This class is used to operate a database. You can add, del, get and search content in a database

Excample:

db = operate_db("expml")

Functions

  • add_content()

Parameters:
tbl_name: strcntnt: dict | list[dict]
with_foreign_key: bool | tuple -> defaults to false

You can add single lines of data or add a whole batch of data as a list. With the foreign key parameter you can give it a table and the key that should be added. It tests if the key exists in the destination table.

Excample 1 (Single Data):

# DB is already initialized and table "Users" is added
data1 = {'Name': 'John', 'Age': 30}
db.add_content('Users', data1)

Excample 2 (Batch Data):

# DB is already initialized and table "Users" is added
data2 = [{'Name': 'John', 'Age': 30},
{'Name': 'Sarah', 'Age': 27},
{'Name': 'Genji', 'Age': 35}]
db.add_content('Users', data1)

Excample 3 (Foreign key):

# DB is already initialized and table "Users" & "Department" are added.
# The Department ID 423 is also already added
data3 = {'Name': 'John', 'Age': 30}
db.add_content('Users', data1, ("Department" {"DID": 423}))
db.close()
  • update_content()

Parameters:
tbl_name: strsearch: dictcntnt: dict | dict

You can update datasets by searching for it and then fill the new information.

Excample 1:

# DB is already initialized and table "Users" is added.
# The database has a dataset with the id 456 and a current name of "bob"
tbl = "users"
dataset2update = {"id": 456}
data2update = {"name": "john"}
db.update_content(tbl, dataset2update, data2update)
# Now the dataset with the id 465 should have the name "john" and not "bob" anymore
  • del_content()

Parameters:
tbl_name: strsearch: dict

You can remove content with this function by searching for attributes. All datasets that will be found are going to be deleted.

IMPORTANT: There is no confirmation. If it finds something it deletes it.

Excample:

# DB is already initialized and table "Users" is added.
# The Dataset for the name "Bob" is added.
data2delete = {'name': 'Bob'}
db.del_content('Users', data2delete)
# Now all Data where the name was "Bob" has been deleted!
  • get_content()

Parameters:
tbl_name: str

Returns:
list

With this you get all the data from a specific table.

Excample:

# DB is already initialized and table "Users" is added.
# The Database is filled with data
data = db.get_content('Users')
print(data)
# Now all Data will be printed
  • search_table()

Parameters:
tbl_name: strsearch: dict

Returns:
list

You can search for specific datasets and all the found data will be returned as list

Excample:

# DB is already initialized and table "Users" is added.
# The Database is filled with data
data2search = {'name': 'Bob'}
found_data = db.search_content('Users', data2search)
print(found_data)
# Now all Datasets with the name "Bob" will be printed
, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Home · Xeferis/Simple_Database Wiki · GitHub
Skip to content
Florian edited this page Jul 24, 2024 · 17 revisions

Welcome to the Simple_Database wiki!

Collection of Classes and Functions

class: establish_db()

Parameters:
db_name: str

To initialize a Database you have to give it a name or, if a database already exists, provide a name.
🛑 Normally not used standalone, it inherits to the other classes! 🛑

Excample:

db = establish_db("expml") 

Functions

  • close()

Just use the "close" tag on the database clase to close this connection

Excample:

db = establish_db("expml")
#some code db.close() 

class: generate_db()

Parameters:
db_name: str

This class is used to build up a database. Fill it with tables or delete tables. It inherits from "establish_db" so it also needs the database name to generate a database or open a connection.

Excample:

db = generate_db("expml")

Functions

  • add_table()

Parameters:
tbl_name: str
col: dict

Return:
bool

Adding tables to your database by giving it a name and the column information. The dict for the column information ist structured like this:

"col_name": {
"primarykey": bool,
"autoincrement": bool,
"type": DATATYPEasSTRING,
"mandatory": bool,
"foreignkey": (
bool,
{
"table": REFERENCE_TABLENAMEasSTRING,
"column": REFERENCE_COLUMNNAMEasSTRING
}
)
},

Excample:

db = generate_db("expml")
db.add_table(
"Test", {
"ID": {
"primarykey": True,
"autoincrement": True,
"type": "INTEGER",
"mandatory": False,
"foreignkey": (
False,
{
"table": "",
"column": ""
}
)
},
"Title": {
"primarykey": False,
"autoincrement": False,
"type": "CHAR(20)",
"mandatory": True,
"foreignkey": (
False,
{
"table": "",
"column": ""
}
)
},
"Name": {
"primarykey": False,
"autoincrement": False,
"type": "TEXT",
"mandatory": True,
"foreignkey": (
False,
{
"table": "",
"column": ""
}
)
},
"Age": {
"primarykey": False,
"autoincrement": False,
"type": "INTEGER",
"mandatory": False,
"foreignkey": (
False,
{
"table": "",
"column": ""
}
)
}
}
)
db.close()
  • remove_table()

Parameters:
tbl_name: str

Return:
bool

This will remove a table of the database by its given name.

IMPORTANT: It will delete the table no matter what! Watch out if it has foreign relations

Will return true if deletion was successful

Excample:

db = generate_db("expml")
db.remove_table(tbl_name: str)
db.close()

class: operate_db()

Parameters:
db_name: str

This class is used to operate a database. You can add, del, get and search content in a database

Excample:

db = operate_db("expml")

Functions

  • add_content()

Parameters:
tbl_name: strcntnt: dict | list[dict]
with_foreign_key: bool | tuple -> defaults to false

You can add single lines of data or add a whole batch of data as a list. With the foreign key parameter you can give it a table and the key that should be added. It tests if the key exists in the destination table.

Excample 1 (Single Data):

# DB is already initialized and table "Users" is added
data1 = {'Name': 'John', 'Age': 30}
db.add_content('Users', data1)

Excample 2 (Batch Data):

# DB is already initialized and table "Users" is added
data2 = [{'Name': 'John', 'Age': 30},
{'Name': 'Sarah', 'Age': 27},
{'Name': 'Genji', 'Age': 35}]
db.add_content('Users', data1)

Excample 3 (Foreign key):

# DB is already initialized and table "Users" & "Department" are added.
# The Department ID 423 is also already added
data3 = {'Name': 'John', 'Age': 30}
db.add_content('Users', data1, ("Department" {"DID": 423}))
db.close()
  • update_content()

Parameters:
tbl_name: strsearch: dictcntnt: dict | dict

You can update datasets by searching for it and then fill the new information.

Excample 1:

# DB is already initialized and table "Users" is added.
# The database has a dataset with the id 456 and a current name of "bob"
tbl = "users"
dataset2update = {"id": 456}
data2update = {"name": "john"}
db.update_content(tbl, dataset2update, data2update)
# Now the dataset with the id 465 should have the name "john" and not "bob" anymore
  • del_content()

Parameters:
tbl_name: strsearch: dict

You can remove content with this function by searching for attributes. All datasets that will be found are going to be deleted.

IMPORTANT: There is no confirmation. If it finds something it deletes it.

Excample:

# DB is already initialized and table "Users" is added.
# The Dataset for the name "Bob" is added.
data2delete = {'name': 'Bob'}
db.del_content('Users', data2delete)
# Now all Data where the name was "Bob" has been deleted!
  • get_content()

Parameters:
tbl_name: str

Returns:
list

With this you get all the data from a specific table.

Excample:

# DB is already initialized and table "Users" is added.
# The Database is filled with data
data = db.get_content('Users')
print(data)
# Now all Data will be printed
  • search_table()

Parameters:
tbl_name: strsearch: dict

Returns:
list

You can search for specific datasets and all the found data will be returned as list

Excample:

# DB is already initialized and table "Users" is added.
# The Database is filled with data
data2search = {'name': 'Bob'}
found_data = db.search_content('Users', data2search)
print(found_data)
# Now all Datasets with the name "Bob" will be printed
, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Home · Xeferis/Simple_Database Wiki · GitHub
Skip to content
Florian edited this page Jul 24, 2024 · 17 revisions

Welcome to the Simple_Database wiki!

Collection of Classes and Functions

class: establish_db()

Parameters:
db_name: str

To initialize a Database you have to give it a name or, if a database already exists, provide a name.
🛑 Normally not used standalone, it inherits to the other classes! 🛑

Excample:

db = establish_db("expml") 

Functions

  • close()

Just use the "close" tag on the database clase to close this connection

Excample:

db = establish_db("expml")
#some code db.close() 

class: generate_db()

Parameters:
db_name: str

This class is used to build up a database. Fill it with tables or delete tables. It inherits from "establish_db" so it also needs the database name to generate a database or open a connection.

Excample:

db = generate_db("expml")

Functions

  • add_table()

Parameters:
tbl_name: str
col: dict

Return:
bool

Adding tables to your database by giving it a name and the column information. The dict for the column information ist structured like this:

"col_name": {
"primarykey": bool,
"autoincrement": bool,
"type": DATATYPEasSTRING,
"mandatory": bool,
"foreignkey": (
bool,
{
"table": REFERENCE_TABLENAMEasSTRING,
"column": REFERENCE_COLUMNNAMEasSTRING
}
)
},

Excample:

db = generate_db("expml")
db.add_table(
"Test", {
"ID": {
"primarykey": True,
"autoincrement": True,
"type": "INTEGER",
"mandatory": False,
"foreignkey": (
False,
{
"table": "",
"column": ""
}
)
},
"Title": {
"primarykey": False,
"autoincrement": False,
"type": "CHAR(20)",
"mandatory": True,
"foreignkey": (
False,
{
"table": "",
"column": ""
}
)
},
"Name": {
"primarykey": False,
"autoincrement": False,
"type": "TEXT",
"mandatory": True,
"foreignkey": (
False,
{
"table": "",
"column": ""
}
)
},
"Age": {
"primarykey": False,
"autoincrement": False,
"type": "INTEGER",
"mandatory": False,
"foreignkey": (
False,
{
"table": "",
"column": ""
}
)
}
}
)
db.close()
  • remove_table()

Parameters:
tbl_name: str

Return:
bool

This will remove a table of the database by its given name.

IMPORTANT: It will delete the table no matter what! Watch out if it has foreign relations

Will return true if deletion was successful

Excample:

db = generate_db("expml")
db.remove_table(tbl_name: str)
db.close()

class: operate_db()

Parameters:
db_name: str

This class is used to operate a database. You can add, del, get and search content in a database

Excample:

db = operate_db("expml")

Functions

  • add_content()

Parameters:
tbl_name: strcntnt: dict | list[dict]
with_foreign_key: bool | tuple -> defaults to false

You can add single lines of data or add a whole batch of data as a list. With the foreign key parameter you can give it a table and the key that should be added. It tests if the key exists in the destination table.

Excample 1 (Single Data):

# DB is already initialized and table "Users" is added
data1 = {'Name': 'John', 'Age': 30}
db.add_content('Users', data1)

Excample 2 (Batch Data):

# DB is already initialized and table "Users" is added
data2 = [{'Name': 'John', 'Age': 30},
{'Name': 'Sarah', 'Age': 27},
{'Name': 'Genji', 'Age': 35}]
db.add_content('Users', data1)

Excample 3 (Foreign key):

# DB is already initialized and table "Users" & "Department" are added.
# The Department ID 423 is also already added
data3 = {'Name': 'John', 'Age': 30}
db.add_content('Users', data1, ("Department" {"DID": 423}))
db.close()
  • update_content()

Parameters:
tbl_name: strsearch: dictcntnt: dict | dict

You can update datasets by searching for it and then fill the new information.

Excample 1:

# DB is already initialized and table "Users" is added.
# The database has a dataset with the id 456 and a current name of "bob"
tbl = "users"
dataset2update = {"id": 456}
data2update = {"name": "john"}
db.update_content(tbl, dataset2update, data2update)
# Now the dataset with the id 465 should have the name "john" and not "bob" anymore
  • del_content()

Parameters:
tbl_name: strsearch: dict

You can remove content with this function by searching for attributes. All datasets that will be found are going to be deleted.

IMPORTANT: There is no confirmation. If it finds something it deletes it.

Excample:

# DB is already initialized and table "Users" is added.
# The Dataset for the name "Bob" is added.
data2delete = {'name': 'Bob'}
db.del_content('Users', data2delete)
# Now all Data where the name was "Bob" has been deleted!
  • get_content()

Parameters:
tbl_name: str

Returns:
list

With this you get all the data from a specific table.

Excample:

# DB is already initialized and table "Users" is added.
# The Database is filled with data
data = db.get_content('Users')
print(data)
# Now all Data will be printed
  • search_table()

Parameters:
tbl_name: strsearch: dict

Returns:
list

You can search for specific datasets and all the found data will be returned as list

Excample:

# DB is already initialized and table "Users" is added.
# The Database is filled with data
data2search = {'name': 'Bob'}
found_data = db.search_content('Users', data2search)
print(found_data)
# Now all Datasets with the name "Bob" will be printed
, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ' Home · Xeferis/Simple_Database Wiki · GitHub
Skip to content
Florian edited this page Jul 24, 2024 · 17 revisions

Welcome to the Simple_Database wiki!

Collection of Classes and Functions

class: establish_db()

Parameters:
db_name: str

To initialize a Database you have to give it a name or, if a database already exists, provide a name.
🛑 Normally not used standalone, it inherits to the other classes! 🛑

Excample:

db = establish_db("expml") 

Functions

  • close()

Just use the "close" tag on the database clase to close this connection

Excample:

db = establish_db("expml")
#some code db.close() 

class: generate_db()

Parameters:
db_name: str

This class is used to build up a database. Fill it with tables or delete tables. It inherits from "establish_db" so it also needs the database name to generate a database or open a connection.

Excample:

db = generate_db("expml")

Functions

  • add_table()

Parameters:
tbl_name: str
col: dict

Return:
bool

Adding tables to your database by giving it a name and the column information. The dict for the column information ist structured like this:

"col_name": {
"primarykey": bool,
"autoincrement": bool,
"type": DATATYPEasSTRING,
"mandatory": bool,
"foreignkey": (
bool,
{
"table": REFERENCE_TABLENAMEasSTRING,
"column": REFERENCE_COLUMNNAMEasSTRING
}
)
},

Excample:

db = generate_db("expml")
db.add_table(
"Test", {
"ID": {
"primarykey": True,
"autoincrement": True,
"type": "INTEGER",
"mandatory": False,
"foreignkey": (
False,
{
"table": "",
"column": ""
}
)
},
"Title": {
"primarykey": False,
"autoincrement": False,
"type": "CHAR(20)",
"mandatory": True,
"foreignkey": (
False,
{
"table": "",
"column": ""
}
)
},
"Name": {
"primarykey": False,
"autoincrement": False,
"type": "TEXT",
"mandatory": True,
"foreignkey": (
False,
{
"table": "",
"column": ""
}
)
},
"Age": {
"primarykey": False,
"autoincrement": False,
"type": "INTEGER",
"mandatory": False,
"foreignkey": (
False,
{
"table": "",
"column": ""
}
)
}
}
)
db.close()
  • remove_table()

Parameters:
tbl_name: str

Return:
bool

This will remove a table of the database by its given name.

IMPORTANT: It will delete the table no matter what! Watch out if it has foreign relations

Will return true if deletion was successful

Excample:

db = generate_db("expml")
db.remove_table(tbl_name: str)
db.close()

class: operate_db()

Parameters:
db_name: str

This class is used to operate a database. You can add, del, get and search content in a database

Excample:

db = operate_db("expml")

Functions

  • add_content()

Parameters:
tbl_name: strcntnt: dict | list[dict]
with_foreign_key: bool | tuple -> defaults to false

You can add single lines of data or add a whole batch of data as a list. With the foreign key parameter you can give it a table and the key that should be added. It tests if the key exists in the destination table.

Excample 1 (Single Data):

# DB is already initialized and table "Users" is added
data1 = {'Name': 'John', 'Age': 30}
db.add_content('Users', data1)

Excample 2 (Batch Data):

# DB is already initialized and table "Users" is added
data2 = [{'Name': 'John', 'Age': 30},
{'Name': 'Sarah', 'Age': 27},
{'Name': 'Genji', 'Age': 35}]
db.add_content('Users', data1)

Excample 3 (Foreign key):

# DB is already initialized and table "Users" & "Department" are added.
# The Department ID 423 is also already added
data3 = {'Name': 'John', 'Age': 30}
db.add_content('Users', data1, ("Department" {"DID": 423}))
db.close()
  • update_content()

Parameters:
tbl_name: strsearch: dictcntnt: dict | dict

You can update datasets by searching for it and then fill the new information.

Excample 1:

# DB is already initialized and table "Users" is added.
# The database has a dataset with the id 456 and a current name of "bob"
tbl = "users"
dataset2update = {"id": 456}
data2update = {"name": "john"}
db.update_content(tbl, dataset2update, data2update)
# Now the dataset with the id 465 should have the name "john" and not "bob" anymore
  • del_content()

Parameters:
tbl_name: strsearch: dict

You can remove content with this function by searching for attributes. All datasets that will be found are going to be deleted.

IMPORTANT: There is no confirmation. If it finds something it deletes it.

Excample:

# DB is already initialized and table "Users" is added.
# The Dataset for the name "Bob" is added.
data2delete = {'name': 'Bob'}
db.del_content('Users', data2delete)
# Now all Data where the name was "Bob" has been deleted!
  • get_content()

Parameters:
tbl_name: str

Returns:
list

With this you get all the data from a specific table.

Excample:

# DB is already initialized and table "Users" is added.
# The Database is filled with data
data = db.get_content('Users')
print(data)
# Now all Data will be printed
  • search_table()

Parameters:
tbl_name: strsearch: dict

Returns:
list

You can search for specific datasets and all the found data will be returned as list

Excample:

# DB is already initialized and table "Users" is added.
# The Database is filled with data
data2search = {'name': 'Bob'}
found_data = db.search_content('Users', data2search)
print(found_data)
# Now all Datasets with the name "Bob" will be printed
, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Home · Xeferis/Simple_Database Wiki · GitHub
Skip to content
Florian edited this page Jul 24, 2024 · 17 revisions

Welcome to the Simple_Database wiki!

Collection of Classes and Functions

class: establish_db()

Parameters:
db_name: str

To initialize a Database you have to give it a name or, if a database already exists, provide a name.
🛑 Normally not used standalone, it inherits to the other classes! 🛑

Excample:

db = establish_db("expml") 

Functions

  • close()

Just use the "close" tag on the database clase to close this connection

Excample:

db = establish_db("expml")
#some code db.close() 

class: generate_db()

Parameters:
db_name: str

This class is used to build up a database. Fill it with tables or delete tables. It inherits from "establish_db" so it also needs the database name to generate a database or open a connection.

Excample:

db = generate_db("expml")

Functions

  • add_table()

Parameters:
tbl_name: str
col: dict

Return:
bool

Adding tables to your database by giving it a name and the column information. The dict for the column information ist structured like this:

"col_name": {
"primarykey": bool,
"autoincrement": bool,
"type": DATATYPEasSTRING,
"mandatory": bool,
"foreignkey": (
bool,
{
"table": REFERENCE_TABLENAMEasSTRING,
"column": REFERENCE_COLUMNNAMEasSTRING
}
)
},

Excample:

db = generate_db("expml")
db.add_table(
"Test", {
"ID": {
"primarykey": True,
"autoincrement": True,
"type": "INTEGER",
"mandatory": False,
"foreignkey": (
False,
{
"table": "",
"column": ""
}
)
},
"Title": {
"primarykey": False,
"autoincrement": False,
"type": "CHAR(20)",
"mandatory": True,
"foreignkey": (
False,
{
"table": "",
"column": ""
}
)
},
"Name": {
"primarykey": False,
"autoincrement": False,
"type": "TEXT",
"mandatory": True,
"foreignkey": (
False,
{
"table": "",
"column": ""
}
)
},
"Age": {
"primarykey": False,
"autoincrement": False,
"type": "INTEGER",
"mandatory": False,
"foreignkey": (
False,
{
"table": "",
"column": ""
}
)
}
}
)
db.close()
  • remove_table()

Parameters:
tbl_name: str

Return:
bool

This will remove a table of the database by its given name.

IMPORTANT: It will delete the table no matter what! Watch out if it has foreign relations

Will return true if deletion was successful

Excample:

db = generate_db("expml")
db.remove_table(tbl_name: str)
db.close()

class: operate_db()

Parameters:
db_name: str

This class is used to operate a database. You can add, del, get and search content in a database

Excample:

db = operate_db("expml")

Functions

  • add_content()

Parameters:
tbl_name: strcntnt: dict | list[dict]
with_foreign_key: bool | tuple -> defaults to false

You can add single lines of data or add a whole batch of data as a list. With the foreign key parameter you can give it a table and the key that should be added. It tests if the key exists in the destination table.

Excample 1 (Single Data):

# DB is already initialized and table "Users" is added
data1 = {'Name': 'John', 'Age': 30}
db.add_content('Users', data1)

Excample 2 (Batch Data):

# DB is already initialized and table "Users" is added
data2 = [{'Name': 'John', 'Age': 30},
{'Name': 'Sarah', 'Age': 27},
{'Name': 'Genji', 'Age': 35}]
db.add_content('Users', data1)

Excample 3 (Foreign key):

# DB is already initialized and table "Users" & "Department" are added.
# The Department ID 423 is also already added
data3 = {'Name': 'John', 'Age': 30}
db.add_content('Users', data1, ("Department" {"DID": 423}))
db.close()
  • update_content()

Parameters:
tbl_name: strsearch: dictcntnt: dict | dict

You can update datasets by searching for it and then fill the new information.

Excample 1:

# DB is already initialized and table "Users" is added.
# The database has a dataset with the id 456 and a current name of "bob"
tbl = "users"
dataset2update = {"id": 456}
data2update = {"name": "john"}
db.update_content(tbl, dataset2update, data2update)
# Now the dataset with the id 465 should have the name "john" and not "bob" anymore
  • del_content()

Parameters:
tbl_name: strsearch: dict

You can remove content with this function by searching for attributes. All datasets that will be found are going to be deleted.

IMPORTANT: There is no confirmation. If it finds something it deletes it.

Excample:

# DB is already initialized and table "Users" is added.
# The Dataset for the name "Bob" is added.
data2delete = {'name': 'Bob'}
db.del_content('Users', data2delete)
# Now all Data where the name was "Bob" has been deleted!
  • get_content()

Parameters:
tbl_name: str

Returns:
list

With this you get all the data from a specific table.

Excample:

# DB is already initialized and table "Users" is added.
# The Database is filled with data
data = db.get_content('Users')
print(data)
# Now all Data will be printed
  • search_table()

Parameters:
tbl_name: strsearch: dict

Returns:
list

You can search for specific datasets and all the found data will be returned as list

Excample:

# DB is already initialized and table "Users" is added.
# The Database is filled with data
data2search = {'name': 'Bob'}
found_data = db.search_content('Users', data2search)
print(found_data)
# Now all Datasets with the name "Bob" will be printed
, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); })(); Home · Xeferis/Simple_Database Wiki · GitHub
Skip to content
Florian edited this page Jul 24, 2024 · 17 revisions

Welcome to the Simple_Database wiki!

Collection of Classes and Functions

class: establish_db()

Parameters:
db_name: str

To initialize a Database you have to give it a name or, if a database already exists, provide a name.
🛑 Normally not used standalone, it inherits to the other classes! 🛑

Excample:

db = establish_db("expml") 

Functions

  • close()

Just use the "close" tag on the database clase to close this connection

Excample:

db = establish_db("expml")
#some code db.close() 

class: generate_db()

Parameters:
db_name: str

This class is used to build up a database. Fill it with tables or delete tables. It inherits from "establish_db" so it also needs the database name to generate a database or open a connection.

Excample:

db = generate_db("expml")

Functions

  • add_table()

Parameters:
tbl_name: str
col: dict

Return:
bool

Adding tables to your database by giving it a name and the column information. The dict for the column information ist structured like this:

"col_name": {
"primarykey": bool,
"autoincrement": bool,
"type": DATATYPEasSTRING,
"mandatory": bool,
"foreignkey": (
bool,
{
"table": REFERENCE_TABLENAMEasSTRING,
"column": REFERENCE_COLUMNNAMEasSTRING
}
)
},

Excample:

db = generate_db("expml")
db.add_table(
"Test", {
"ID": {
"primarykey": True,
"autoincrement": True,
"type": "INTEGER",
"mandatory": False,
"foreignkey": (
False,
{
"table": "",
"column": ""
}
)
},
"Title": {
"primarykey": False,
"autoincrement": False,
"type": "CHAR(20)",
"mandatory": True,
"foreignkey": (
False,
{
"table": "",
"column": ""
}
)
},
"Name": {
"primarykey": False,
"autoincrement": False,
"type": "TEXT",
"mandatory": True,
"foreignkey": (
False,
{
"table": "",
"column": ""
}
)
},
"Age": {
"primarykey": False,
"autoincrement": False,
"type": "INTEGER",
"mandatory": False,
"foreignkey": (
False,
{
"table": "",
"column": ""
}
)
}
}
)
db.close()
  • remove_table()

Parameters:
tbl_name: str

Return:
bool

This will remove a table of the database by its given name.

IMPORTANT: It will delete the table no matter what! Watch out if it has foreign relations

Will return true if deletion was successful

Excample:

db = generate_db("expml")
db.remove_table(tbl_name: str)
db.close()

class: operate_db()

Parameters:
db_name: str

This class is used to operate a database. You can add, del, get and search content in a database

Excample:

db = operate_db("expml")

Functions

  • add_content()

Parameters:
tbl_name: strcntnt: dict | list[dict]
with_foreign_key: bool | tuple -> defaults to false

You can add single lines of data or add a whole batch of data as a list. With the foreign key parameter you can give it a table and the key that should be added. It tests if the key exists in the destination table.

Excample 1 (Single Data):

# DB is already initialized and table "Users" is added
data1 = {'Name': 'John', 'Age': 30}
db.add_content('Users', data1)

Excample 2 (Batch Data):

# DB is already initialized and table "Users" is added
data2 = [{'Name': 'John', 'Age': 30},
{'Name': 'Sarah', 'Age': 27},
{'Name': 'Genji', 'Age': 35}]
db.add_content('Users', data1)

Excample 3 (Foreign key):

# DB is already initialized and table "Users" & "Department" are added.
# The Department ID 423 is also already added
data3 = {'Name': 'John', 'Age': 30}
db.add_content('Users', data1, ("Department" {"DID": 423}))
db.close()
  • update_content()

Parameters:
tbl_name: strsearch: dictcntnt: dict | dict

You can update datasets by searching for it and then fill the new information.

Excample 1:

# DB is already initialized and table "Users" is added.
# The database has a dataset with the id 456 and a current name of "bob"
tbl = "users"
dataset2update = {"id": 456}
data2update = {"name": "john"}
db.update_content(tbl, dataset2update, data2update)
# Now the dataset with the id 465 should have the name "john" and not "bob" anymore
  • del_content()

Parameters:
tbl_name: strsearch: dict

You can remove content with this function by searching for attributes. All datasets that will be found are going to be deleted.

IMPORTANT: There is no confirmation. If it finds something it deletes it.

Excample:

# DB is already initialized and table "Users" is added.
# The Dataset for the name "Bob" is added.
data2delete = {'name': 'Bob'}
db.del_content('Users', data2delete)
# Now all Data where the name was "Bob" has been deleted!
  • get_content()

Parameters:
tbl_name: str

Returns:
list

With this you get all the data from a specific table.

Excample:

# DB is already initialized and table "Users" is added.
# The Database is filled with data
data = db.get_content('Users')
print(data)
# Now all Data will be printed
  • search_table()

Parameters:
tbl_name: strsearch: dict

Returns:
list

You can search for specific datasets and all the found data will be returned as list

Excample:

# DB is already initialized and table "Users" is added.
# The Database is filled with data
data2search = {'name': 'Bob'}
found_data = db.search_content('Users', data2search)
print(found_data)
# Now all Datasets with the name "Bob" will be printed