From 533d4ed7e8d40712886880a3a05a0ab40f090484 Mon Sep 17 00:00:00 2001 From: Colin Coombs Date: Wed, 18 Dec 2019 13:18:05 +0000 Subject: [PATCH 1/2] Transform leveldb into a 'hybrid' package This allows users to use leveldb databases in their own nim programs. --- leveldb.nimble | 2 ++ src/leveldb.nim | 2 +- src/{leveldb => leveldbpkg}/raw.nim | 0 tests/test.nim | 2 +- 4 files changed, 4 insertions(+), 2 deletions(-) rename src/{leveldb => leveldbpkg}/raw.nim (100%) diff --git a/leveldb.nimble b/leveldb.nimble index cd0a99e..c143d0e 100644 --- a/leveldb.nimble +++ b/leveldb.nimble @@ -5,6 +5,8 @@ author = "Michał Zieliński" description = "LevelDB wrapper for Nim" license = "MIT" srcDir = "src" +installExt = @["nim"] +skipDirs = @["tests"] binDir = "bin" bin = @["leveldb"] diff --git a/src/leveldb.nim b/src/leveldb.nim index 95a96d4..065a0e2 100644 --- a/src/leveldb.nim +++ b/src/leveldb.nim @@ -1,4 +1,4 @@ -import options, strutils, leveldb/raw +import options, strutils, leveldbpkg/raw type LevelDb* = ref object diff --git a/src/leveldb/raw.nim b/src/leveldbpkg/raw.nim similarity index 100% rename from src/leveldb/raw.nim rename to src/leveldbpkg/raw.nim diff --git a/tests/test.nim b/tests/test.nim index 4f9b0db..28b1aca 100644 --- a/tests/test.nim +++ b/tests/test.nim @@ -1,5 +1,5 @@ import unittest, options, sequtils -import leveldb, leveldb/raw +import leveldb, leveldbpkg/raw suite "leveldb": From 9bd4ed57cd5cbe5e2448acc5c637c5251f48c61c Mon Sep 17 00:00:00 2001 From: Xie Yanbo Date: Tue, 18 Feb 2020 23:46:17 +0800 Subject: [PATCH 2/2] support minimum nim version 0.18.0 --- .travis.yml | 6 ++++++ leveldb.nimble | 2 +- src/leveldb.nim | 8 ++++---- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/.travis.yml b/.travis.yml index 8c36507..62e14fa 100644 --- a/.travis.yml +++ b/.travis.yml @@ -18,6 +18,12 @@ matrix: include: - os: linux env: CHANNEL=stable + - os: linux + env: CHANNEL=0.20.2 + - os: linux + env: CHANNEL=0.19.6 + - os: linux + env: CHANNEL=0.18.0 install: - | diff --git a/leveldb.nimble b/leveldb.nimble index c143d0e..78aff6c 100644 --- a/leveldb.nimble +++ b/leveldb.nimble @@ -12,4 +12,4 @@ bin = @["leveldb"] # Dependencies -requires "nim >= 1.0.0" +requires "nim >= 0.18.0" diff --git a/src/leveldb.nim b/src/leveldb.nim index 065a0e2..83b63a6 100644 --- a/src/leveldb.nim +++ b/src/leveldb.nim @@ -193,7 +193,7 @@ iterator iter*(self: LevelDb, seek: string = "", reverse: bool = false): ( leveldb_iter_next(iterPtr) iterator iterPrefix*(self: LevelDb, prefix: string): (string, string) = - for (key, value) in iter(self, prefix, reverse = false): + for key, value in iter(self, prefix, reverse = false): if key.startsWith(prefix): yield (key, value) else: @@ -201,7 +201,7 @@ iterator iterPrefix*(self: LevelDb, prefix: string): (string, string) = iterator iterRange*(self: LevelDb, start, limit: string): (string, string) = let reverse: bool = limit < start - for (key, value) in iter(self, start, reverse = reverse): + for key, value in iter(self, start, reverse = reverse): if reverse: if key < limit: break @@ -331,7 +331,7 @@ when isMainModule: db.close() elif args[0] == "list": db = open(dbPath) - for (key, value) in db.iter(): + for key, value in db.iter(): if hex: echo key, " ", value.toHex() else: @@ -339,7 +339,7 @@ when isMainModule: db.close() elif args[0] == "keys": db = open(dbPath) - for (key, value) in db.iter(): + for key, value in db.iter(): echo key db.close() elif args[0] == "delete":